MFC改變控制項顏色

2021-09-07 23:20:26 字數 711 閱讀 5679

from 

mfc應用程式中,要改變控制項的背景色可通過過載onctlcolor()函式來實現。方法是在該函式中設定所需顏色後再返回乙個畫刷控制代碼便可 重繪控制項背景色。onctlcolor()函式對於控制項背景色的處理是通過捕捉相應的控制項訊息來實現的。

常用的此類訊息有:   

ctlcolor_dlg   對話方塊   

ctlcolor_edit   編輯框 

ctlcolor_listbox   列表框   

ctlcolor_msgbox   訊息框 

ctlcolor_scrollbar   滑動條 

ctlcolor_static   靜態文字框、矩形等。 

主要有三步:

1. 宣告訊息響應函式

//}afx_msg 

declare_message_map()   

2. 實現訊息響應函式

以編輯框舉例:

hbrush   cmydialog::onctlcolor(cdc*   pdc,   cwnd*   pwnd,   uint   nctlcolor)  

return hbr; }

3. 新增訊息對映

begin_message_map(cmydialog, cdialog)

on_wm_ctlcolor() 

end_message_map()

注意:此方法不適用於按紐控制項。 

改變MFC控制項背景顏色

這裡講述兩種改變mfc控制項背景顏色的方法 方法一 用onctlcolor訊息函式,改變特定控制項的背景 首先在標頭檔案的類中定義cbush類的變數 brush 如語句 cbrush brush 然後在原始檔的建構函式中初始化 brush.createsolidbrush rgb 255,0,0 r...

Android 改變switch控制項顏色

android 原生switch控制項的顏色與軟體不匹配,就想換個顏色。但是找個半天也沒有找到在 設定。最後通過設定them,在style裡新增 stylename color1switchstyle itemname colorcontrolactivated color colorprimary...

利用QPalette改變控制項顏色

qpalette類相當於對話方塊或控制項的調色盤,它管理著控制項或窗體的所有顏色資訊,每個窗體或控制項都包含乙個qpalette物件,在顯示時按照它的qpalette物件中對各部分各狀態下的顏色的描述來進行繪製。qpalette類有兩個基本的概念,乙個是colorgroup,另乙個是colorrol...