碉堡了,GetClientRect不会用

shnaying1945 2013-09-29 08:16:03
以前的貌似只有一个参数,但现在需要两个参数。
原型是:BOOL GetClientRect(HWND hWnd,LPRECT lpRect);
第一个参数不知道怎么获得,知道是窗口句柄。
网上查了查,窗口句柄可以通过FindWindow获得,嗯,FindWindow函数中又有两个参数,LPCSTR lpClassName和LPCSTR lpWindowName,第一个参数对于对话框似乎是"#32770",第二个参数的windowname 不知道是谁啊。我的对话框ID是IDD_DIALOG2,但不知道windowname 上哪要去,属性窗口看了看,没找着。
...全文
165 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rxguoblp 2013-09-30
  • 打赏
  • 举报
回复
如果是MFC程序的话GetClientRect(GetSafeHwnd(),&rect); FindWindow(窗口对应的类名,窗口的Caption);//这两个形参都是字符串变量。IDD_DIALOG2的lpWindowName:对话框属性栏->Caption里面就是你要的第2个参数。
qiminixi 2013-09-30
  • 打赏
  • 举报
回复
在API中,GetClientRect为: BOOL GetClientRect(HWND hWnd,LPRECT lpRect); CWnd类封装了一下,变为: BOOL GetClientRect(LPRECT lpRect). 如果是在某个窗口中,要获取该窗口中的客户区区域,直接调用GetClientRect就行了: void CMyDialog::OnPain() { CRect rectClient; GetClientRect(rectClient);//获取MyDialog的客户区 }
真相重于对错 2013-09-29
  • 打赏
  • 举报
回复
你以前用的估计是mfc的cwnd class 成员函数 现在你用的是纯粹的api在那个窗口创建时候记下来就可以

16,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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