MFC中获取dialog窗体的宽度及大小等信息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC中获取dialog窗体的宽度及大小等信息相关的知识,希望对你有一定的参考价值。
参考技术A 在哪里想获得了直接调用入校函数就可以了CRect rc;
GetWindowRect(&rc);
rc.Width();获得宽度
rc.Height();获得高度本回答被提问者采纳 参考技术B 在你的对话类中响应WM_SIZE消息,系统将自动生成一个OnSize()函数,在该函数里面添加下面代码就可以得到:
void CDataFileImportDlg::OnSize(UINT nType, int cx, int cy)
CDialog::OnSize(nType, cx, cy);
CRect rect;
GetClientRect(&rect);
rect 中就有你想要宽度,大小等信息。 参考技术C
[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);//设置窗口显示的位置以及大小
[cpp] view plain copy
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);//设置窗口显示的位置以及大小
mfc动态改变对话框窗口大小和显示位置
C++代码
123456 CRectcr;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动态改变窗口大小和显示位置
Android_Dialog_设置Dialog窗体的大小
/** * 设置Dialog窗体的大小 */ private void setWindowSize() { DisplayMetrics dm = new DisplayMetrics(); WindowManager m = getWindowManager(); m.getDefaultDisplay().getMetrics(dm); // 为获取屏幕宽、高 WindowManager.LayoutParams p = getWindow().getAttributes(); // 获取对话框当前的參数值 // p.height = (int) (d.getHeight() * 1.0); //高度设置为屏幕的1.0 p.width = (int) (dm.widthPixels * 0.86); // 宽度设置为屏幕的0.85 p.alpha = 1.0f; // 设置本身透明度 p.dimAmount = 0.6f; // 设置黑暗度 getWindow().setAttributes(p); }
以上是关于MFC中获取dialog窗体的宽度及大小等信息的主要内容,如果未能解决你的问题,请参考以下文章