建立了一个对话框程序,在对话框上的一个子窗口位置,建立了一个子对话框,这个子对话框是在新线程中建立,新线程有自定义的消息循环和消息处理函数,子对话框建立正常,问题是子对话框中的控件没法自动更新显示,只有线程中更新了的控件才能看见。请问应该如何处理?
试过把窗口建立放入主线程中,由主线程来处理消息函数,这时子对话框控件显示正常,不过当子线程去更新界面时会有死锁的情况发生,而且似乎子对话框主要由子线程控制更合理些。
试过把窗口建立放入主线程中,由主线程来处理消息函数,这时子对话框控件显示正常,不过当子线程去更新界面时会有死锁的情况发生,而且似乎子对话框主要由子线程控制更合理些。
UpdateWindow();
我在消息循环函数里加上UpdateWindow()后显示正常了。加到这里正确吗?效率有没影响?
如果你在主线程建立窗口的话,子线程更新界面是不对的,可以发消息PostMessage自定义消息给主线程,然后有主线程更新界面。
等待时间设为0,否则就示控件无法更新显示的现象出现。但这样的话CPU占用率太高,求教解决方案。
显然同步是一个问题。
UI相关的都由UI线程来操作比较好