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

关于 getclientrect的有关问题

2012-02-10 
关于 getclientrect的问题?在对话框上建立了一个静态文本框,ID是ID_STATIC,为它也关联了变量m_static,类型

关于 getclientrect的问题?
在对话框上建立了一个静态文本框,ID是ID_STATIC,为它也关联了变量m_static,类型为CStatic,现在,想获取静态文本框的大小,将一个窗口CMyDlg   m_mydlg贴在里面,是这样写的:
       
          CRect   rect;
          m_static.GetClientRect(rect);  
          m_mydlg.MoveWindow(rect);

运行之后,出现异常。
这样写问题出在哪里呢?请高手指点。

我的具体功能是想实现:在选择组合框的某一项时,在它下面的静态文本框区域里显示对应的窗口,在组合框的CBN_SELCHANGE   消息响应函数OnSelchange()里,先判断是选择了那一项,在case项里添加上面的代码。请问这么做有问题么?

[解决办法]
不要用IDC_STATIC
要改成其它的,如IDC_STATICFRAME
[解决办法]
CRect rect;
GetDlgItem(IDC_STATICFRAME)-> GetWindowRect(rect);
ScreenToClient(rect);

得到IDC_STATICFRAME所在的区域


[解决办法]
RECT rect;
m_static.GetClientRect(&rect);
m_mydlg.MoveWindow(rect);

热点排行