【发布时间】:2021-10-11 17:39:23
【问题描述】:
我有这个代码:
m_pBtnCom = new CButton();
m_pBtnCom->Create(_T("Push"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_TEXT|BS_VCENTER|BS_CENTER, rc, this, BTN_CMT);
地点:
-
this= 我的派生CWnd类 -
rc=CRect按钮位置 -
BTN_CMT= 按钮 ID
当前背景:
如果我通过调用EnableWindow(FALSE) 禁用父CWnd,即使我在按钮(m_pBtnCom->EnableWindow(TRUE))上调用函数EnableWindow(TRUE),后者仍然被禁用;因此,它没有任何作用:单击、工具提示、...
我试图删除WS_CHILD,但没有成功
问题:
当窗口(我的代码中的参数 this )被禁用时,是否可以激活按钮?
【问题讨论】:
-
这听起来像是您正在尝试完全解决一个不同的问题。您是否正在尝试创建一个可以与其子窗口进行交互但使父窗口处于非活动状态的窗口?
-
@IInspectable 我想禁用包含我的按钮的窗口并为 ONE 按钮 (m_pBtnCom) 设置一个例外,以便能够:单击,查看工具提示,...
-
是的,当父窗口被禁用时,子窗口不能独立启用。不要从子窗口中删除
WS_CHILD标志。您可以考虑使用GetWindow(GW_CHILD)和while ... GetWindow(GW_HWNDNEXT)来禁用/启用每个孩子。您还必须处理对话框的关闭按钮。 -
@BarmakShemirani 谢谢。这就是我试图避免的,但既然我别无选择,我必须这样做。
-
嗨@AndrewTruckle,好主意,添加了它