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

2021-09-30 08:34:26 字數 1021 閱讀 8998

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

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

方法一:hbrush cmydlg::onctlcolor(cdc* pdc, cwnd* pwnd, uint nctlcolor)

方法二:我們可以改變對話方塊的背景顏色,或對話方塊中的控制項顏色以使得程式介面不至於千篇一律,如何做呢?每個控制項和對話方塊在顯示之前回傳送wm_ctlcolor訊息,如果派生對話方塊類對wm_ctlcolor訊息進行了對映,就可以設定文字的前景色和背景色。同時還可以為控制項或對話方塊的非文字區域選擇乙個刷子。

wm_ctlcolor訊息對應的函式為onctlcolor,onctlcolor函式的原型為:afx_msg hbrush onctlcolor( cdc* pdc, cwnd* pwnd, uint nctlcolor );其中引數pdc是:乙個指向裝置環境的指標。pwnd:指定特定的控制項。nctlcolor:指明控制項型別。可以有以下型別:

ctlcolor_btn button control

ctlcolor_dlg dialog box

ctlcolor_edit edit control

ctlcolor_listbox list box

ctlcolor_msgbox message box

ctlcolor_scrollbar scroll bar

ctlcolor_static static text, frame, or rectangle

現在為了突出顯示文字框的顯示號碼,我們將文字框的文字背景設為黃色。

步驟1、新增乙個成員變數 hbrush m_hbrush;

步驟2、用class wizard為cguessdlg加入wm_ctlcolor訊息,並編輯onctlcolor函式:

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

return cdialog::onctlcolor (pdc,pwnd,nctlcolor);

}

mfc 改變對話方塊背景顏色

其中函式的第乙個引數指定了背景顏色,第二個引數指定了文字顏色。下面的例子是將應用程式對話方塊設定為藍色背景和紅色文字,步驟如下 新建乙個基於dialog的mfc initinstance 中新增如下 bool initinstance 編譯並執行,此時對話方塊的背景色和文本色已發生了改變。值得注意的...

MFC 如何改變對話方塊的預設背景顏色

下面介紹三種方法 實現改變對話方塊的預設背景顏色 呼叫setdialogbkcolor rgb 160,32,240 即可以改變背景顏色 注意這裡繪製的顏色是針對程式中所有的對話方塊 setdialogbkcolor rgb 0,0,255 rgb 255,0,0 前乙個rgb是背景色,後一rgb是...

MFC 如何改變對話方塊的預設背景顏色

下面介紹三種方法 實現改變對話方塊的預設背景顏色 呼叫setdialogbkcolor rgb 160,32,240 即可以改變背景顏色 注意這裡繪製的顏色是針對程式中所有的對話方塊 setdialogbkcolor rgb 0,0,255 rgb 255,0,0 前乙個rgb是背景色,後一rgb是...