【问题标题】:Disabling Dialog Controls MFC禁用对话框控件 MFC
【发布时间】:2011-01-20 21:25:30
【问题描述】:

如何禁用对话框窗口中的所有控件?我知道我可以使用 启用窗口(假); 但这似乎不是一个好主意,因为现在用户无法单击“确定”或“取消”按钮或按“X”图标退出。对话就像被冻结了一样。

我正在寻找一种方法来禁用对话框中的所有控件,同时为用户提供某种退出方式。

另一种解决方案是手动完成所有对话框控件并禁用它们,但这会变得乏味。有什么简单的方法吗?

谢谢。

【问题讨论】:

    标签: mfc dialog


    【解决方案1】:

    抱歉,通过所有控件并禁用每个控件简单的方法。

    您可以使用EnumChildWindows 或使用循环调用GetWindow(... GW_HWNDNEXT) 编写一个通用函数来执行此操作,直到它为下一个窗口返回NULL。

    请记住跳过禁用以 IDCANCEL 作为 id 的窗口。

    【讨论】:

    • 别忘了:永远不要禁用具有焦点的控件!如果您必须禁用该控件,请先将焦点传递给另一个控件,然后然后禁用它。
    猜你喜欢
    • 2013-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-23
    相关资源
    最近更新 更多