初步探究其原因,猜想應(yīng)該是static控件的背景沒(méi)有得到及時(shí)刷新。
那就好辦了,解決辦法:強(qiáng)制刷新。
方法1:GetDlgItem(IDC_STATIC)->UpdateWindow();
無(wú)效...
方法2:GetDlgItem(IDC_STATIC)-> RedrawWindow();
無(wú)效.......
方法3:GetDlgItem(IDC_STATIC)-> Invalidate ();
無(wú)效.........
方法4:還不行?來(lái)點(diǎn)小技巧
SetDlgItemText(IDC_STATIC, "
SetDlgItemText(IDC_STATIC, "TEST");
郁悶了…….
難道這么個(gè)小問(wèn)題要用高級(jí)的方法搞?
這個(gè)問(wèn)題困擾了我好幾天,終于在一次上WC時(shí)突然頓悟:static的背景已經(jīng)是透明的了,那么殘留的文本應(yīng)該是畫(huà)在static的父窗口上的。頓悟之后就是感嘆:自己真笨啊。
辦法有了:在給static 設(shè)置新的文本之后(不是之前!)刷新父窗口。
void CTestStaticDlg::OnTimer(UINT nIDEvent)
{
}
編譯運(yùn)行,K.O.
聯(lián)系客服