如何从MFC中获取dialog窗体的宽度及大小等信息?
CRect rc;
GetWindowRect(&rc);
rc.Width();获得宽度
rc.Height();获得高度
[cpp] view plaincopy
void CMainFrame::OnChangeSize()
{
// TODO: Add your command handler code here
CRect cr;
GetClientRect(&cr);//获取对话框客户区域大小
ClientToScreen(&cr);//转换为荧幕坐标
int x= GetSystemMetrics(SM_CXSCREEN);//获取荧幕坐标的宽度,单位为像素
int y= GetSystemMetrics(SM_CYSCREEN);//获取荧幕坐标的高度,单位为像素
//MoveWindow((x-cr.Width() *2)/2 ,cr.top,cr.Width() *2,cr.Height() *2);//设置窗口显示的位置以及大小
MoveWindow(cr.left ,cr.top,cr.Width(),cr.Height()/2);//设置窗口显示的位置以及大小
}
void CMainFrame::OnChangeSize()
{
// TODO: Add your command handler code here
CRect cr;
GetClientRect(&cr);//获取对话框客户区域大小
ClientToScreen(&cr);//转换为荧幕坐标
int x= GetSystemMetrics(SM_CXSCREEN);//获取荧幕坐标的宽度,单位为像素
int y= GetSystemMetrics(SM_CYSCREEN);//获取荧幕坐标的高度,单位为像素
//MoveWindow((x-cr.Width() *2)/2 ,cr.top,cr.Width() *2,cr.Height() *2);//设置窗口显示的位置以及大小
MoveWindow(cr.left ,cr.top,cr.Width(),cr.Height()/2);//设置窗口显示的位置以及大小
}
- CRect
[cpp] view plain copy
mfc动态改变对话框窗口大小和显示位置
C++代码
123456cr;GetClientRect(&cr);//获取对话框客户区域大小ClientToScreen(&cr);//转换为荧幕坐标 intx=
GetSystemMetrics(SM_CXSCREEN);//获取荧幕坐标的宽度,单位为像素inty=
GetSystemMetrics(SM_CYSCREEN);//获取荧幕坐标的高度,单位为像素MoveWindow((x-cr.Width()
*2)/2 ,cr.top,cr.Width() *2,cr.Height() *2);//设置窗口显示的位置以及大小
描述:mfc动态改变窗口大小和显示位置