永发信息网

C++中为什么对话框的指针不为空,但是hWnd为空

答案:2  悬赏:40  手机版
解决时间 2021-03-05 02:12
  • 提问者网友:温柔港
  • 2021-03-04 18:07
C++中为什么对话框的指针不为空,但是hWnd为空
最佳答案
  • 五星知识达人网友:慢性怪人
  • 2021-03-04 19:12
一般来讲,一个有效的对话框指针一定会有一个有效的句柄和其对应
出现了指针不为空,而句柄(也就是hWnd)为空的情况,只能说明
第一 该指针是无效指针,比如在调用了delete释放了指针指向的对话框资源之后
第二 指针本身就是无效的指针,从来没有被正确的分配对话框资源
第三 内存溢出,导致其他对象的数据被填充到了这里
所以我们会通过getsafehandle返回值是否为空,来判断指针指向的对话框是否有效
仅仅通过指针不为空,根本无法有效的判断对话框是否有效
全部回答
  • 1楼网友:酒者煙囻
  • 2021-03-04 19:38
hwnd:h 是类型描述,表示句柄(handle), wnd 是变量对象描述,表示窗口,所以hwnd 表示窗口句柄 通俗地说,如果把一个到处跑的人当作指针的话,那么hwnd就是该人的身份证; hwnd 属性: 返回窗体或控件的句柄(注意 ole 容器控件不支持该属性。句柄:是由操作环境定义的一个唯一的整数值,它被程序用来标识或者切换到对象,如窗体或控件等。)。 语法: object.hwnd object 所在处代表一个对象表达式,其值是“应用于”列表中的一个对象。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯