国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Static控件背景透明時(shí)文字覆蓋問(wèn)題的解決方案

Static控件背景透明時(shí)文字覆蓋問(wèn)題的解決方案    我泡論壇的時(shí)間并不長(zhǎng),但印象中已經(jīng)有好多次在VC區(qū)看到類似這樣的問(wèn)題,而且經(jīng)常議之未果:


請(qǐng)問(wèn)
static控件設(shè)置透明后,再更改文字時(shí)會(huì)與之前的文字覆蓋,怎么解決
pDC->SetBkMode(TRANSPARENT);
設(shè)置透明后,要改變控件的文字就會(huì)發(fā)生文字重疊,如果不使用透明就不會(huì),
請(qǐng)問(wèn)在透明狀態(tài)下改變文字如何不發(fā)生重疊?

起初不以為意,閑暇時(shí)自己試了一下,發(fā)現(xiàn):文本確實(shí)有重疊。如下圖(為了更好的說(shuō)明問(wèn)題,我特意設(shè)置了背景和前景色):



初步探究其原因,猜想應(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, "             ");//多用幾個(gè)空格,把原先的文本”沖”掉

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)

{

       CString strTime;

       CTime time = CTime::GetCurrentTime();

       strTime = time.Format("%y年%m月%d日 %H:%M:%S");

 

       GetDlgItem(IDC_STATIC)->SetWindowText(strTime);

       GetDlgItem(IDC_STATIC)->GetParent()->RedrawWindow(); //就這兩句話而已,呵呵

       CDialog::OnTimer(nIDEvent);

}

編譯運(yùn)行,K.O.

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
MFC文本控件設(shè)置背景透明后出現(xiàn)文字重疊。
vc中處理控件的UP和DOWN事件
VC控件之CheckBox
轉(zhuǎn)貼:MFC edit control 用法
vc中edit控件使用總結(jié)
VC++定義光標(biāo)熱區(qū),默認(rèn)聚焦在某個(gè)按鈕上
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服