現在需要在一個按鈕上添加一個指示作用的東西。
比如:有一按鈕,按鈕Caption顯示:NO1
當程式收到一條警報資訊時,
程式在這個按鈕上顯示紅燈。
當人為按下按鈕后,警報解除,該按鈕的紅燈熄滅,恢復按鈕原來的模樣。
我現在是用以下的陳述句來實作:
HICON icon;
icon[1]=AfxGetApp()->LoadIcon(IDI_Icon_Green);
icon[0]=AfxGetApp()->LoadIcon(IDI_Icon_Red);
((CButton*)GetDlgItem(IDC_BUTTON_NO1))->SetIcon(icon[0]);
((CButton*)GetDlgItem(IDC_BUTTON_NO1))->SetIcon(icon[1]);
本來想打算無警報時,按鈕顯示綠燈。
有警報時,按鈕顯示紅燈。
但是,一旦SetIcon后,按鈕的字體就被這Icon覆寫了,看不到按鈕原來的字(NO1)了。
問題:如何取消這個Icon,讓NO1重新顯示出來?
我想做的東西是:
程式接收資料,若接收到的資料含有警報資訊,則判斷該警報是哪個編號,然后在對應編號的按鈕上顯示紅燈。
因為有很多組按鈕,且受困于界面大小布局等原因,想直接在按鈕上顯示燈的效果,以節省界面布局。
顯示紅燈時,按鈕的NO1字可以被覆寫。
但是一旦解除警報后,紅燈熄滅,NO1需要重新顯示出來。
uj5u.com熱心網友回復:
再次添加圖片???uj5u.com熱心網友回復:
從 CButton 派生新類, 自己處理 WM_ERASEBKGND 和 WM_PAINT 訊息uj5u.com熱心網友回復:
把文字做到ICON中,這樣更合適!!!整天UI看著更舒服。。。uj5u.com熱心網友回復:
SetIcon(0);轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/62510.html
標籤:界面
