按钮控件在对话框中需要一些时间才能禁用

时间:2014-10-28 09:53:16

标签: c++ mfc

我正在尝试从对话框中的mainthread做一些冗长的操作。在那段时间我想禁用几个控件。我为每个控件使用EnableWindow(FALSE)来禁用它。但除了按钮控制之外,所有其他控件(即滑块控件,CMFCEditBrowse控件,ComboBox控件)在处理之前都会完全禁用。但按钮控件需要更多时间才能禁用。当操作即将结束时,它们几乎禁用。一旦我调用EnableWindow(FALSE),为什么按钮控件没有禁用?为什么需要时间来禁用?

1 个答案:

答案 0 :(得分:1)

您需要在另一个线程中完全执行后台任务,并在另一个线程中更改UI /控件。如果直接调用PostMessage不起作用,则应使用EnableWindow。例如,SetFocus不能在不同的线程中工作。