如何修改對話方塊的背景色

2021-06-17 00:14:53 字數 1174 閱讀 6683

1、如何改變對話方塊的背景顏色

方法二:過載onpaint(),即wm_paint訊息。有關**如下(以上例工程為準):

void cexampledlgdlg::onpaint()

方法三:過載

onctlcolor(cdc* pdc, cwnd* pwnd, uint nctlcolor),即wm_ctlcolor訊息。具體步驟如下(以上例工程為準):

---- ①在cexampledlgdlg的標頭檔案中,新增一cbrush的成員變數:

class cexampledlgdlg : public cdialog

;---- ②在oninitdialog()函式中新增如下**:

bool cexampledlgdlg::oninitdialog()

---- ③利用classwizard過載onctlcolor(…),即wm_ctlcolor訊息:

hbrush cexampledlgdlg::onctlcolor

(cdc* pdc, cwnd* pwnd, uint nctlcolor)

方法四:還是過載onctlcolor(cdc* pdc, cwnd* pwnd, uint nctlcolor),即wm_ctlcolor訊息。具體步驟如下(以上例工程為準):

---- 步驟①、②同上方法三中的步驟①、②。

---- 步驟③利用classwizard過載onctlcolor(…)(即wm_ctlcolor訊息)時則有些不同:

hbrush cexampledlgdlg::onctlcolor

(cdc* pdc, cwnd* pwnd, uint nctlcolor)

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

//在這加一條是否為對話方塊的判斷語句

if(nctlcolor ==ctlcolor_dlg)

return m_brush; //返加綠色刷子

return hbr;

2、 如何在onctlcolor裡使對話方塊透明(以及如何改變對話方塊外觀)

改變對話方塊的預設背景色

法一在對話方塊的wm paint訊息的響應處理函式onpaint 中進行繪製背景色。法二響應對話方塊的wm ctlcolor訊息,在訊息處理函式onctlcolor中進行繪製。onpaint法 1 新建乙個基於對話方塊的mfc應用程式changebgcolortest1。2 開啟changebgco...

改變MFC對話方塊背景色 控制項

改變mfc對話方塊背景色 控制項內的字型顏色和背景色 中天數字 c 設定 dialog,group box,static text,check box,edit ctrl disabled combo box disabled radio button等背景色 編寫wm ctlcolor訊息的對映函...

改變對話方塊背景色,對話方塊內文字的顏色與背景色

利用classwizard過載onctlcolor 即wm ctlcolor訊息 改變對話方塊背景色,文字顏色及背景色 hbrush selsamplesdlg onctlcolor cdc pdc,cwnd pwnd,uint nctlcolor todo 如果預設的不是所需畫筆,則返回另乙個畫筆...