发布网友 发布时间:2024-07-03 07:23
共2个回答
热心网友 时间:2024-08-09 02:44
楼上说对了,获取控件的句柄,必须有 WS_CHILD 样式。再说了,IDD_DIALOG1 是对话框资源,跟控件 ID 就是两码事。对话框没有 ID,哪来 GetDlgItem 获取句柄。追问亮了,对话框怎么会没ID。。。追答你说的对话框 ID 是 EXE 资源中区分资源的标识符 ID,创建成对话框后这个 ID 已经看不到了,你用 spy++ 也查不到,这算哪门子 ID。控件 ID 本质上就跟它不是一回事。这就跟你家门牌号和你的身份证号一样,能相提并论?不管你是父窗口还是子对话框,查找句柄都是用 FindWindowEx,类名 #32770,你不可能用 GetDlgItem 得到子对话框句柄。
热心网友 时间:2024-08-09 02:44
你看看你的dlg1的属性,用的是否是WS_CHILD,如果不是的话改过来试试。追问有的,就是获取不到,不相信你自己建一个试试,把我的代码贴过去就行。追答确实如你所说,我看了一下MSDN,对GetDlgItem的解释是:This function retrieves the handle to a control in the specified dialog box,他用来得到dialog上的控件,子窗口不是控件,所以无法得到。