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 如果預設的不是所需畫筆,則返回另乙個畫筆...