改變對話方塊顏色

2021-05-28 07:41:55 字數 1403 閱讀 9109

2008-06-26 23:06:11

|  分類:

技術積累篇

|  標籤:|字型大小

大中小訂閱

---- 其中函式的第乙個引數指定了背景顏色,第二個引數指定了文字顏色。

下面的例子是將應用程式對話方塊設定為藍色背景和紅色文字,步驟如下:

---- 編譯並執行,此時對話方塊的背景色和文本色已發生了改變。值得注意的

是:在呼叫domodal()之前必須先呼叫setdialogbkcolor,且此方法是將改變

應用程式中所有的對話方塊顏色,並不能針對某乙個指定的對話方塊。

---- 方法二:過載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)

---- 編譯並執行即可。

---- 關於如何改變對話方塊背景顏色的問題,可能還有很多種不同方法可以實現,

筆者在這僅舉出四種常見的方法。其中方法三的程式設計似乎有點不太規範,方法四則

要比方法三正統些,筆者這樣的對比舉例是為了拓寬vc程式設計愛好者特別是初學者的

程式設計思路,讀者可以根據實際情況選用其中的一種。如果再結合《軟體報》2023年第

5期中改變對話方塊上的控制項顏色,相信會使您的mfc應用程式"增色"不少。

mfc 改變對話方塊背景顏色

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

VC 中改變對話方塊背景顏色

其中函式的第乙個引數指定了背景顏色,第二個引數指定了文字顏色。下面的例子是將應用程式對話方塊設定為藍色背景和紅色文字,步驟如下 cexampledlgdlg dlg m pmainwnd dlg 先於domodal 呼叫,將對話方塊設定為藍色背景 紅色文字 setdialogbkcolor rgb ...

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

1 如何改變對話方塊的背景顏色 2 如何在onctlcolor裡使對話方塊透明 以及如何改變對話方塊外觀 方法一 hbrush cmydlg onctlcolor cdc pdc,cwnd pwnd,uint nctlcolor 方法二 我們可以改變對話方塊的背景顏色,或對話方塊中的控制項顏色以使得...