VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 900|回复: 7

GetClientRect如何获取控件的RECT?

[复制链接]
02_avatar_middle
最佳答案
0 
在线会员 发表于 2015-12-23 15:36:15 | 显示全部楼层 |阅读模式
3驿站币
本帖最后由 foryou520 于 2015-12-23 17:20 编辑

void CReadEnergyDlg::OnSize(UINT nType, int cx, int cy)
{
        CDialogEx::OnSize(nType, cx, cy);
        Invalidate(FALSE);

        CRect Rect1;        

        CWnd *pWnd = GetDlgItem(IDC_LIST_RIGHT);         //IDC_LIST_RIGHT为List Control控件的ID号
        pWnd->GetClientRect(&Rect1);        //报错....
        
        Invalidate(TRUE);
        UpdateWindow();
}

3331.png

最佳答案

查看完整内容

CWnd *pWnd = GetDlgItem(IDC_LIST_RIGHT); //IDC_LIST_RIGHT为List Control控件的ID号 if(pWnd && pWnd ->GetSafeHwnd()) { pWnd->GetClientRect(&Rect1); //报错.... Invalidate(TRUE); UpdateWindow(); }




上一篇:Debug Assertion Failed(在线等待)
下一篇:MFC程序怎么屏蔽键盘输入但是接收scanner(扫描枪)输入
17_avatar_middle
最佳答案
0 
online_vip 发表于 2015-12-23 15:36:16 | 显示全部楼层
CWnd *pWnd = GetDlgItem(IDC_LIST_RIGHT);         //IDC_LIST_RIGHT为List Control控件的ID号
if(pWnd && pWnd ->GetSafeHwnd())
{
        pWnd->GetClientRect(&Rect1);        //报错....   
        Invalidate(TRUE);
        UpdateWindow();
}
81_avatar_middle
最佳答案
3 
online_supermod 发表于 2015-12-23 15:49:53 | 显示全部楼层
CWnd *pWnd = GetDlgItem(IDC_LIST_RIGHT);
这句返回的 pWnd 是否为 NULL ?
我猜是 NULL,所以报错了
02_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2015-12-23 16:14:20 | 显示全部楼层
Debug 发表于 2015-12-23 15:49
CWnd *pWnd = GetDlgItem(IDC_LIST_RIGHT);
这句返回的 pWnd 是否为 NULL ?
我猜是 NULL,所以报错了


这是什么情况?
rr.png
81_avatar_middle
最佳答案
3 
online_supermod 发表于 2015-12-23 16:17:33 | 显示全部楼层

不是给你贴图写出来了吗?
pWnd 为 NULL,所以肯定报错了
GetClientRect如何获取控件的RECT?
02_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2015-12-23 17:10:33 | 显示全部楼层
mycaibo 发表于 2015-12-23 16:35
CWnd *pWnd = GetDlgItem(IDC_LIST_RIGHT);         //IDC_LIST_RIGHT为List Control控件的ID号
if(pWnd  ...

谢谢,好用!但不知道:pWnd ->GetSafeHwnd()是什么意思?大侠能讲一下吗?
51_avatar_middle
最佳答案
8 
online_admins 发表于 2015-12-24 14:47:13 | 显示全部楼层
foryou520 发表于 2015-12-23 17:10
谢谢,好用!但不知道:pWnd ->GetSafeHwnd()是什么意思?大侠能讲一下吗?

pWnd 是 MFC 中的窗口类 CWnd 类型的指针,调用 GetSafeHwnd 方法返回的就是 HWND 类型的窗口句柄
02_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2015-12-25 10:10:41 | 显示全部楼层
Syc 发表于 2015-12-24 14:47
pWnd 是 MFC 中的窗口类 CWnd 类型的指针,调用 GetSafeHwnd 方法返回的就是 HWND 类型的窗口句柄

谢谢!大神
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-11-22 09:15

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表