MFC修改介面和控制項顏色

2021-07-26 10:05:21 字數 845 閱讀 5427

重新on_wm_paint()、on_wm_ctlcolor()訊息對應的函式onpaint()、onctlcolor()

(一)onpaint()

//cdialogex::onpaint();

crect rect;

cpaintdc dc(this);

getclientrect(rect);

dc.fillsolidrect(rect, rgb(217, 226, 241)); //設定為淺藍色背景

(二)onctlcolor()

hbrush hbr = cdialogex::onctlcolor(pdc, pwnd, nctlcolor);

// todo: 在此更改 dc 的任何特性

if (nctlcolor == ctlcolor_btn) //更改按鈕顏色

else if (nctlcolor == ctlcolor_scrollbar) //

else if (nctlcolor == ctlcolor_edit) //更改編輯框

else if (nctlcolor == ctlcolor_static) //更改靜態文字

else if (nctlcolor == ctlcolor_dlg) //更改對話方塊背景色

// todo: 如果預設的不是所需畫筆,則返回另乙個畫筆

return hbr;

最終介面圖:

MFC改變控制項顏色

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

MFC修改Button背景顏色和字型顏色

afx msg void ondrawitem int nidctl,lpdrawitemstruct lpdrawitemstruct 修改button背景顏色和字型顏色 void cskindlg ondrawitem int nidctl,lpdrawitemstruct lpdrawitem...

改變MFC控制項背景顏色

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