晚上編乙個小程式,涉及到如何設定對話方塊的背景顏色和靜態文字顏色。這在vc6.0中本來是一句話就搞定的事。在應用程式類中的
initinstance()
函式新增:
//設定對話方塊背景和文字顏色
setdialogbkcolor(rgb(
160,
180,
220),rgb(0,
0,0));
誰知這在vs 2005上竟不起作用,到網上一查,原來setdialogbkcolor函式在vs 2003中就已經不支援了。只得另闢蹊徑。另外的辦法就是響應wm_ctlcolor
訊息,在訊息對映函式中新增:
hbrush cfilespltdlg::onctlcolor(cdc
*pdc, cwnd
*pwnd, uint nctlcolor)
case
ctlcolor_dlg:
default
:break;}
return
hbr;
}照這樣,除了靜態文字可以控制,還有按鈕、文字編輯框可以控制其背景顏色,因為我看到有下列的巨集
hbrush cfilespltdlg::onctlcolor(cdc
*pdc, cwnd
*pwnd, uint nctlcolor)
case
ctlcolor_dlg:
default
:break;}
return
hbr;
}
VC 中改變對話方塊背景顏色
其中函式的第乙個引數指定了背景顏色,第二個引數指定了文字顏色。下面的例子是將應用程式對話方塊設定為藍色背景和紅色文字,步驟如下 cexampledlgdlg dlg m pmainwnd dlg 先於domodal 呼叫,將對話方塊設定為藍色背景 紅色文字 setdialogbkcolor rgb ...
VC MFC如何設定對話方塊背景顏色
1.過載onctlcolor cdc pdc,cwnd pwnd,uint nctlcolor 即wm ctlcolor訊息。在cexampledlgdlg的標頭檔案中,新增一cbrush的成員變數 class cexampledlgdlg public cdialog 在oninitdialog ...
VC MFC如何設定對話方塊背景顏色
vc mfc如何設定對話方塊背景顏色 1.過載onctlcolor cdc pdc,cwnd pwnd,uint nctlcolor 即wm ctlcolor訊息。在cexampledlgdlg的標頭檔案中,新增一cbrush的成員變數 class cexampledlgdlg public cdi...