MFC中获取dialog窗体的宽度及大小等信息

 我来答
百度网友7860c3e
推荐于2017-11-24 · TA获得超过241个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:117万
展开全部
在哪里想获得了直接调用入校函数就可以了
CRect rc;
GetWindowRect(&rc);
rc.Width();获得宽度
rc.Height();获得高度
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yz4330181
2011-09-13 · TA获得超过105个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:125万
展开全部
在你的对话类中响应WM_SIZE消息,系统将自动生成一个OnSize()函数,在该函数里面添加下面代码就可以得到:
void CDataFileImportDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
CRect rect;
GetClientRect(&rect);
}
rect 中就有你想要宽度,大小等信息。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小枫看法
高粉答主

2018-04-16 · 关注最新生活,身边事,好精彩。
小枫看法
采纳数:4018 获赞数:180085

向TA提问 私信TA
展开全部

[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
  •    
  • CRect
    cr;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动态改变窗口大小和显示位置

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式