MFC 对话框的尺寸大小如何确定的
例如范例 如何确定的对话对话框的大小
m_statusBar.Create(WS_CHILD|WS_VISIBLE,CRect(0,0,0,0),this,1100);
int width[]={80,220,300,380,460,32765}; //状态栏的大小
m_statusBar.SetParts(6,width);
请问范例中 是怎么知道对话框的长宽的呢? 展开
推荐于2016-07-18 · 知道合伙人数码行家
MFC 对话框的尺寸大小使用MoveWindow,意思是改变指定窗口的位置和大小。
函数功能:改变指定窗口的位置和大小.对顶窗口来说,位置和大小取决于屏幕的左上角;对子窗口来说,位置和大小取决于父窗口客户区的左上角.对于Owned窗口,位置和大小取决于屏幕左上角.
函数原型:BOOL MoveWindow( HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint );
参数
hWnd指定了窗口的句柄
x指定了CWnd的左边的新位置。
y指定了CWnd的顶部的新位置。
nWidth指定了CWnd的新宽度。
nHeight指定了CWnd的新高度。
bRepaint指定了是否要重画CWnd。如果为TRUE,则CWnd象通常那样在OnPaint消息处理函数中接收到一条WM_PAINT消息。如果这个参数为FALSE,则不会发生任何类型的重画操作。这应用于客户区、非客户区(包括标题条和滚动条)和由于CWnd移动而露出的父窗口的任何部分。当这个参数为FALSE的时候,应用程序必须明确地使CWnd和父窗口中必须重画的部分无效或重画。
MoveWindow给窗口发送WM_WINDOWPOSCHANGING,WM_WINDOWPOSCHANGED,WM_MOVE,WM_SIZE和WM_NCCALCSIZE消息。
m_statusBar.GetClientRect( &rc );
//宽
rc.Width(),或者rc.right-rc.left
//高
rc.Heigth() 或者rc.bottom - rc.top
请问 设计一个对话框 对话框的大小的 宽度 可以用自带工具测量吗
你可以在VC6或VS的资源编辑器里调整对话框的大小。资源编辑器的右下角会告诉你当前的对话框是多大。如果要在运行中动态调整对话框大小可以用MoveWinidow函数。
关于此函数自行百度或MSDN