我正在尝试从对话框中的mainthread做一些冗长的操作。在那段时间我想禁用几个控件。我为每个控件使用EnableWindow(FALSE)来禁用它。但除了按钮控制之外,所有其他控件(即滑块控件,CMFCEditBrowse控件,ComboBox控件)在处理之前都会完全禁用。但按钮控件需要更多时间才能禁用。当操作即将结束时,它们几乎禁用。一旦我调用EnableWindow(FALSE),为什么按钮控件没有禁用?为什么需要时间来禁用?
答案 0 :(得分:1)
您需要在另一个线程中完全执行后台任务,并在另一个线程中更改UI /控件。如果直接调用PostMessage
不起作用,则应使用EnableWindow
。例如,SetFocus
不能在不同的线程中工作。