怎么通过对话框窗口句柄获得对话框窗口对象


我在网上看到一种方法
HWND hWnd=::FindWindow(NULL,_T("Sphere"));      //得到对话框的句柄
   C***Dialog* pWnd= (C***Dialog*)FromHandle(hWnd); //由句柄得到对话框的对象指针
但是我编译后提示'FromHandle' : cannot convert parameter 1 from 'struct HWND__ *' to 'unsigned int'
这是怎么回事啊?FromHandle参数不对还是怎么的??

6 个解决方案

#1


改成这样试试:
C***Dialog* pWnd= (C***Dialog*)C***Dialog::FromHandle(hWnd); 

#2


从你的伪码来看,是没有问题.
但是没有你的真正源码,看不出问题所在

#3


引用 1 楼  的回复:
改成这样试试:
C***Dialog* pWnd= (C***Dialog*)C***Dialog::FromHandle(hWnd);

按照这位大哥的改了,编译通过了,虽然结果还是不对,可能其他地方问题吧。我想问下加入的C***Dialog在里面作用是什么?

#4


引用 3 楼  的回复:
引用 1 楼 的回复:
改成这样试试:
C***Dialog* pWnd= (C***Dialog*)C***Dialog::FromHandle(hWnd);

按照这位大哥的改了,编译通过了,虽然结果还是不对,可能其他地方问题吧。我想问下加入的C***Dialog在里面作用是什么?

这个过程是实例化对象
这里前提是你的句柄就是C***Dialog类生成的对话框的句柄
这样通过pWnd实现控制会更方便一些

#5


试试attach

#6


直接利用HWND窗口句柄还不是一样

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号