一,场景描述
今天维护代码的时候,在主框架的WindowProc函数中,显示了一个模态对话框。点击模态对话框上面的按钮之后,会调用EndDialog函数。通过打印发现,模态对话框已经销毁了,模态对话框却一直存在界面上。
二,问题定位
后台线程在像被模态对话框遮挡的窗口上投递Windows消息。被遮挡的窗口处理消息时,是通过invalidRect方式,局部重绘窗口。
三,解决办法
结束模态对话框之后,向被遮挡窗口发送了一个WM_PAINT消息。
四,原理分析
一,场景描述
今天维护代码的时候,在主框架的WindowProc函数中,显示了一个模态对话框。点击模态对话框上面的按钮之后,会调用EndDialog函数。通过打印发现,模态对话框已经销毁了,模态对话框却一直存在界面上。
二,问题定位
后台线程在像被模态对话框遮挡的窗口上投递Windows消息。被遮挡的窗口处理消息时,是通过invalidRect方式,局部重绘窗口。
三,解决办法
结束模态对话框之后,向被遮挡窗口发送了一个WM_PAINT消息。
四,原理分析