MFC 中获取窗口尺寸

wenluderen 2014-02-11 11:46:23
目的:获取 窗口的尺寸

使用函数GetWindowRect 。

第一步:使用MFC向导创建单文档程序

第二步:创建对话框 并且对话框内放置按钮控件(命名为A)

第三步:创建按钮控件(A)的单击响应函数

第四步: 在单击相响应函数添加如下代码
CRect rect ; 
GetWindowRect(AfxGetMainWnd()->m_hWnd,&rect);
FRAMEIDTH = rect.Width()//FRAMEIDTH是int型用于接收窗口宽度;


但是编译的时候系统提示CWnd::GetWindowRect”: 函数不接受 2 个参数。这不是奇葩了吗?
MSDn中明确表示 函数GetWindowRect的两个参数一个是 窗口的句柄 一个是RECT结构的指针。
但是编译竟然未过。百度和谷歌都没有结果,请CSDN大神指点一下,问题出在哪边?
谢谢

备注:AfxGetMainWnd()->m_hWnd 是获取框架窗口的指针吧?
...全文
877 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenluderen 2014-02-11
  • 打赏
  • 举报
回复
运行效果图
wenluderen 2014-02-11
  • 打赏
  • 举报
回复
完整代码 如下。

已经实现功能。

初学者需要谷歌(MFC 之 对话框编程入门(上、中、下)) 不然不会知道FRAMEIDTH是如何来的。

// TODO: 在此添加控件通知处理程序代码
//下面要做的是获取程序框架的大小
//HWND hWnd = AfxGetMainWnd()->m_hWnd;//
CRect rect ;
::GetWindowRect(AfxGetMainWnd()->m_hWnd,&rect);
FRAMEIDTH = rect.Width();
//UpdateData(TRUE);//UpdateData(TRUE);就是让文本框的值更新到m_nValue里,
UpdateData(FALSE);//就是将变量中的数据返回给文本框里




IDE是VS2010
源代码地址:
链接:http://yun.baidu.com/xcloud/csdn/pan/share/link?shareid=842977971&uk=2604484023 密码:mfvu
wenluderen 2014-02-11
  • 打赏
  • 举报
回复
引用 1 楼 BombZhang 的回复:
这样: ::GetWindowRect(AfxGetMainWnd()->m_hWnd,&rect); 或者: GetWindowRect(&rect);
果然如此 谢谢
BombZhang 2014-02-11
  • 打赏
  • 举报
回复
这样: ::GetWindowRect(AfxGetMainWnd()->m_hWnd,&rect); 或者: GetWindowRect(&rect);

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧