改變Push Button背景色

2021-03-31 08:56:59 字數 567 閱讀 9357

聞怡洋

01-9-12 下午 03:14:36

在windows中edit,staticbox的背景色都可以通過處理wm_ctlcolor訊息來改變,但push button卻不行。

唯一的方法是使用ownerdraw風格的按鈕。本文講述的方法是使用cbutton的派生類。

class ccbutton : public cbutton

;

實現drawitem

void ccbutton::drawitem(lpdrawitemstruct lpdis)

}

else if (state & ods_disabled)

}

ccbutton是cbutton派生類,具有cbutton的全部成員函式,但在建立時需要使用bs_ownerdraw風格。

如果按鈕不是動態生成,使用attach函式使ccbutton代替原來按鈕的視窗過程。

bool ccbutton::attach(const uint nid, cwnd* pparent)

如在一對話方塊的initdialog(...)中加入下面幾行

ios改變tablecell背景色

最有效的解決方式是 使用 void tableview uitableview tableview willdisplaycell uitableviewcell cell forrowatindexpath nsindexpath indexpath 託管函式中定義cell的背景顏色值。注意 ce...

linux shell 改變前景色和背景色

設定為黑底白字 echo e 033 037 40m 參考 顏色是通過新增專用序列來選擇的 基本上是夾在 e 和 m 之間數字值。如果指定一個以上的數字 則用分號將它們分開。echo e e 31 40m 第一個數字 31 為前景顏色 紅色 第二個數字為 40 背景顏色 黑色 echo e e 0m...

如何改變TabCtrl的背景色

最近在實現一個設定介面時用到了tabctrl,用系統自帶的控制元件,碰到了一個問題,在背景圖換成其他的顏色,這裡是指非color 3dface的顏色,比如背景換成淡藍色,我希望控制元件的非tab的區域和非客戶區的區域顯示為背景一樣的顏色,但這在預設的控制元件裡是做不到的。看了一個codeprojec...

改變TreeView控制元件的背景色

private declare function sendmessage lib user32 alias sendmessagea byval hwnd as long,byval wmsg as long,byval wparam as long,lparam as long as long p...

UIButton觸控時,改變背景色

uibutton繼承自uicontrol,因此也有uicontrolstate狀態,此狀態可以用state property取到。預設情況下,該屬性的值是normal,當被觸控時,會切換到highlight狀態 以下 可以設定當按鈕被觸控時,背景色改變的效果 void sethighlighted ...