首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

mfc上GetWindowRect跟GetClientRect的差异

2013-12-06 
mfc上GetWindowRect和GetClientRect的差异现在发现一个小问题。在对话框上插入的一个picture control控件。

mfc上GetWindowRect和GetClientRect的差异
现在发现一个小问题。
在对话框上插入的一个picture control控件。

方法一:



CRect rc;
GetDlgItem(IDC_STATIC_PICTURE)->GetWindowRect(rc);
ScreenToClient(rc);

        _cprintf("l=%d,t=%d,w=%d,h=%d \n ",rc.left,rc.top,rc.right,rc.bottom);


结果是 53 53 438 263

方法二;

CRect rc;
GetDlgItem(IDC_STATIC_PICTURE)->GetClientRect(rc);

       _cprintf("l=%d,t=%d,w=%d,h=%d \n ",rc.left,rc.top,rc.right,rc.bottom);


结果是 0 0 281 206
不是起点不一样。而是这两个大小不一样。很是奇怪。请问是什么情况?

另外还有一点。在MFC资源矿编辑的时候,这个picture的控件坐标30,30 宽高是220 ,120 这两个数据又有什么意义?
[解决办法]
看看<Windows程序设计吧>

这类似与GetDC和GetWindowDC的区别。
前者只能得到客户绘制区域的的句柄,后者可以获取到客户绘制区域和客户非绘制区域(窗口标题栏区域)的句柄

热点排行