请问一个小问题

时间:2023-01-31 17:37:58
用GetDlgItem(hwnd,nID)这个函数获得控件句柄的时候,这个包含这个控件的
对话框的句柄是如何获得知道的啊?

6 个解决方案

#1


还有,我要获得一个控件的句柄在一个属性页里面却取得是空的
为什么呢?

#2


对话框句柄可以通过HWND hWnd = ::FindWindow( NULL , "对话框标题" );来获得

“我要获得一个控件的句柄在一个属性页里面却取得是空的”
这句话我不明白啊

#3


在对话框成员函数里要获得控件句柄,用GetDlgItem(nID)就可以呀!
关于属性页,你是用的Tab还是Sheet?如果是CPropertySheet的话,那每个Page的成员函数可以象正常对话框里一样用,就用GetDlgItem(nID)就可以!

#4


这样用了,但是却获得不了啊,我本意是想获得一个控件的内容(不想用
关联的方法),所以要先获得这个控件的句柄,然后才能用句柄指向
的方法用getwindowtext获得内容,但在用getdlgitem的时候,却得不到
这个控件的句柄,为什么呢?
是不是page页在domodal后页面就销毁了,所以获得不了吗?如果这样
不用变量和控件绑定的方法怎么获得控件的值呢?

#5


两种可能性:
或者你对话框的句柄取的不对
或者你控件的ID没有找对

#6


不是每个控件都能用GetWindowtext获得的。请针对不同控件用不同的处理,如:
((CComboBox*)(GetDlgItem(nID))->...

#1


还有,我要获得一个控件的句柄在一个属性页里面却取得是空的
为什么呢?

#2


对话框句柄可以通过HWND hWnd = ::FindWindow( NULL , "对话框标题" );来获得

“我要获得一个控件的句柄在一个属性页里面却取得是空的”
这句话我不明白啊

#3


在对话框成员函数里要获得控件句柄,用GetDlgItem(nID)就可以呀!
关于属性页,你是用的Tab还是Sheet?如果是CPropertySheet的话,那每个Page的成员函数可以象正常对话框里一样用,就用GetDlgItem(nID)就可以!

#4


这样用了,但是却获得不了啊,我本意是想获得一个控件的内容(不想用
关联的方法),所以要先获得这个控件的句柄,然后才能用句柄指向
的方法用getwindowtext获得内容,但在用getdlgitem的时候,却得不到
这个控件的句柄,为什么呢?
是不是page页在domodal后页面就销毁了,所以获得不了吗?如果这样
不用变量和控件绑定的方法怎么获得控件的值呢?

#5


两种可能性:
或者你对话框的句柄取的不对
或者你控件的ID没有找对

#6


不是每个控件都能用GetWindowtext获得的。请针对不同控件用不同的处理,如:
((CComboBox*)(GetDlgItem(nID))->...