当切换到其他程序的窗口后,再切换回来时 这个对话框的背景没有能重绘出来 而是一片空白,只能看见上面的控件了!
请问下谁知道这个是怎么回事吗?
9 个解决方案
#1
不同的Windows版本指不定出啥状况。
切换后强制刷新一下试试?
切换后强制刷新一下试试?
#2
没有设置为子窗口刷新。类似的,设置了WS_CLIPCHILDREN 这个属性,将不会为子控件和子窗口刷新。
#3
所以,你需要通过自行刷新子窗口。
#4
#5
我是在App里 DoModal出来的 怎么设置 自行刷新子窗口?
CWinApp::InitInstance()
{
.....
CDlgLogin dlg;
if(dlg.DoModal() != IDOK)
return FALSE;
.....
}
#6
当你切换时,单文档程序框架必然会出发重新绘制。在这个时候,强制子窗口刷新。
#7
切换时 Invalidate 一下。
#8
切换时 Invalidate 一下。
应加到哪里呢?
#9
估计 OnPaint 这个函数里处理提有问题
#1
不同的Windows版本指不定出啥状况。
切换后强制刷新一下试试?
切换后强制刷新一下试试?
#2
没有设置为子窗口刷新。类似的,设置了WS_CLIPCHILDREN 这个属性,将不会为子控件和子窗口刷新。
#3
所以,你需要通过自行刷新子窗口。
#4
没有设置为子窗口刷新。类似的,设置了WS_CLIPCHILDREN 这个属性,将不会为子控件和子窗口刷新。
#5
所以,你需要通过自行刷新子窗口。
我是在App里 DoModal出来的 怎么设置 自行刷新子窗口?
CWinApp::InitInstance()
{
.....
CDlgLogin dlg;
if(dlg.DoModal() != IDOK)
return FALSE;
.....
}
#6
所以,你需要通过自行刷新子窗口。
我是在App里 DoModal出来的 怎么设置 自行刷新子窗口?
CWinApp::InitInstance()
{
.....
CDlgLogin dlg;
if(dlg.DoModal() != IDOK)
return FALSE;
.....
}
当你切换时,单文档程序框架必然会出发重新绘制。在这个时候,强制子窗口刷新。
#7
切换时 Invalidate 一下。
#8
切换时 Invalidate 一下。
应加到哪里呢?
#9
估计 OnPaint 这个函数里处理提有问题