【发布时间】:2011-11-30 19:59:58
【问题描述】:
在 Windows 上,当我显示一个对话框(自定义对话框或标准打开/保存文件对话框)并将对话框移动到父窗口上时,父窗口不会重绘,留下的痕迹拖动时后面的对话框。 (父窗口使用 OpenGL 绘制,但不确定这是否相关。)当对话框移到主窗口前面时,如何让主窗口重绘?
我尝试在对话框的回调发送消息时添加一个重绘主窗口的调用,但这只会在按下按钮或输入编辑字段时导致重绘发生。当对话框的回调时它不会重绘窗口被移动。我怎样才能检测到这种运动?
【问题讨论】:
-
"(父窗口使用OpenGL进行绘制,但不确定是否相关。)" - 这个是相关的。您需要使渲染上下文无效 - 我已经有一段时间没有做这些了,所以我必须去挖掘。
-
Windows 发送该窗口 WM_PAINT 消息告诉它重绘自己。不要忽视它们。