问一个MoveWindow的问题

wangcd 2006-11-13 03:03:25
我有一个childFrame带了一个scrollview,然后在childframe的cpp里用如下的语句,发现每次movewindow之后,frame再得到的client变小。
CRect rcClient(0,0,0,0);
GetClientRect( &rcClient ); //这是初始的client大小
MoveWindow( rcClient );
GetClientRect( &rcClient ); //这里再获得其client大小的时候,比刚开始的client要小。

请问为什么?多谢
...全文
162 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangcd 2006-11-13
  • 打赏
  • 举报
回复
噢,忘了这个,只记得ClientToScreen,呵,好,俺先去试试。。
olidyu 2006-11-13
  • 打赏
  • 举报
回复
ScreenToClient()函数可以转换屏幕坐标系和客户区坐标系
wangcd 2006-11-13
  • 打赏
  • 举报
回复
你的意思是GetClientRect得到的是客户区(不包括框架)的大小,但是movewindow中的rect是包括框架的大小,这样,每一次movewindow都会变小一次?

如果改为GetWindowRect,得到的是针对screen的坐标,再用movewindow的话,还需要把其screen的坐标转换成客户的坐标。有没有什么方法方便转?

改用setwindowpos的话,window的大小又没发生变化,唉,目前还没搞定。
Y___Y 2006-11-13
  • 打赏
  • 举报
回复
ls正解!
GetClientRect应改为GetWindowRect
ouyh12345 2006-11-13
  • 打赏
  • 举报
回复
GetClientRect得到的是客户区(不包括框架)的大小。

15,975

社区成员

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

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