XP,MFC对话框程序,GetDC后TextOut输出被遮盖后消失的问题。
void CdiaDlg::OnPaint()
{
if (IsIconic())
{
.....
}
else
{
CDC *pDC=GetDC();
pDC->TextOut(0,0,_T("haah"));
ReleaseDC(pDC);
CDialog::OnPaint();
}
}
运行后,打开任意一个全屏的程序A,遮住这个对话框,然后把程序A最小化,对话框露出来,但haah就没了。
Vista系统下没有这个问题。
把else里面的改为下面的也没有这个问题了:
CPaintDC dc(this);;
dc.TextOut(0,0,_T("haah"));
CDialog::OnPaint();
问题在哪?