GetClietnRect?????? 这到底什么原理啊

namaemuzu 2017-06-08 01:13:32
我用VS2013的对话框编辑器做了一个对话框 里面有一个Static子控件,ID是MainStatic 和一个custom control控件, 它们的默认颜色都是是灰色 我想在程序运行的时候给他们涂上绿色 我就调用 GetClientRect(GetDlgItem(hwnd(父窗口),MainStatic),&rc)获取static的大小和位置 结果获取的rc的 left和top都是0 这到底什么意思啊 我用GetClientRect获取custom control的位置就没问题

最后导致的结果就是我的custom control成功涂上了绿色以及左上角一块static大小的绿色... 救命啊 不懂啊!!!
...全文
85 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
namaemuzu 2017-06-08
  • 打赏
  • 举报
回复
哎 两天没睡意识模糊了 获得子窗口大小后我还一直用父窗口的hdc画图...
赵4老师 2017-06-08
  • 打赏
  • 举报
回复
仅供参考: Coordinate Space and Transformation Functions The following functions are used with coordinate spaces and transformations. ClientToScreen CombineTransform DPtoLP GetCurrentPositionEx GetGraphicsMode GetMapMode GetViewportExtEx GetViewportOrgEx GetWindowExtEx GetWindowOrgEx GetWorldTransform LPtoDP MapWindowPoints ModifyWorldTransform OffsetViewportOrgEx OffsetWindowOrgEx ScaleViewportExtEx ScaleWindowExtEx ScreenToClient SetGraphicsMode SetMapMode SetViewportExtEx SetViewportOrgEx SetWindowExtEx SetWindowOrgEx SetWorldTransform
namaemuzu 2017-06-08
  • 打赏
  • 举报
回复
引用 3 楼 zhao4zhong1 的回复:
GetWindowRect
更不管用啊GetClietnRect获得的坐标是左上角 GetWindowRect直接飞出客户去了
赵4老师 2017-06-08
  • 打赏
  • 举报
回复
GetWindowRect
namaemuzu 2017-06-08
  • 打赏
  • 举报
回复
我直接把对话框属性设置成Popup 当做主窗口运行了
namaemuzu 2017-06-08
  • 打赏
  • 举报
回复
简单来说就是用GetClientRect获得的static子控件的大小位置信息不对啊

15,978

社区成员

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

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