VC 對話方塊背景顏色、控制元件顏色
系統環境:Windows 7
軟體環境:Visual C++ 2008 SP1
本次目的:為對話方塊設定背景顏色、控制元件顏色
既然MFC對話方塊不好開發,那麼現在我們來開始美化我們的對話方塊。為對話方塊設定背景顏色、控制元件顏色等等。
對話方塊背景顏色:
網上流傳有四種方法(可能還不止),在VC++2008SP1測試後,發現只有三種可以使用了,其中第一種被廢棄了。以下是四種方法:
方法一
(失效):呼叫CWinApp類的成員函式SetDialogBkColor來實現。
其中函式的第一個引數指定了背景顏色,第二個引數指定了文字顏色。下面的例子是將應用程式對 話框設定為藍色背景和紅色文字,步驟如下:
① 新建一個基於Dialog的MFC AppWizard應用程式ExampleDlg。
② 在CExampleDlgApp ::InitInstance()中新增如下程式碼:
編譯並執行,此時對話方塊的背景色和文字色已發生了改變。值得注意的是:在呼叫DoModal()之前必須先呼叫SetDialogBkColor,且此方法是將改變應用程式中所有的對話方塊顏色,並不能針對某一個指定的對話方塊。
方法二
:過載OnPaint(),即WM_PAINT訊息。有關程式碼如下(以上例工程為準):
方法三
:過載OnCtlColor (CDC* pDC, CWnd* pWnd, UINT nCtlColor),即WM_CTLCOLOR訊息。具體步驟如下(以上例工程為準):
①在CExampleDlgDlg的標頭檔案中,新增一個CBrush的成員變數:
②在OnInitDialog()函式中新增如下程式碼:
③利用ClassWizard過載OnCtlColor(…),即WM_CTLCOLOR訊息:
方法四
:還是過載OnCtlColor (CDC* pDC, CWnd* pWnd, UINT nCtlColor),即WM_CTLCOLOR訊息。具體步驟如下(以上例工程為準):
步驟①、②同上方法三中的步驟①、②。
步驟③利用ClassWizard過載OnCtlColor(…)(即WM_CTLCOLOR訊息)時則有些不同:
效果圖,在基於上一篇的點陣圖按鈕 ,看看是否與背景蠻和諧的:
控制元件顏色:
對於分佈在對話方塊上的控制元件,我們可以修改其顏色、其背景顏色,比如對靜態文字、文字編輯框、列表框等等。
步驟①、②同上方法三中的步驟①、②。
步驟③:利用ClassWizard過載OnCtlColor(…)(即WM_CTLCOLOR訊息)時則有些不同:
效果如下:
對於其中nCtlColor型別,即它的取值:
CTLCOLOR_DLG 對話方塊
CTLCOLOR_EDIT 編輯框
CTLCOLOR_LISTBOX 列表框
CTLCOLOR_MSGBOX 訊息框
CTLCOLOR_SCROLLBAR 滑動條
CTLCOLOR_STATIC 靜態文字框、矩形等。
相關文章
- 設定toast的字型顏色和背景顏色AST
- JS 操作 DOM 改變方塊顏色JS
- Eclipse背景顏色修改Eclipse
- iOS UISearchBar 修改背景顏色iOSUI
- css 設定背景顏色CSS
- UITabBarController、TabBar背景顏色設定、TabBarItem顏色處理UItabBarController
- iphone 更改鍵盤背景顏色iPhone
- android顏色對應的xml配置值,顏色表AndroidXML
- Flutter改變狀態列字型、狀態列背景顏色、Appbar背景顏色的方式FlutterAPP
- CSS 中的顏色、背景和剪下CSS
- CSS-背景顏色|background-colorCSS
- CSS設定元素的背景顏色CSS
- markdown字型顏色和背景設定
- css3背景顏色漸變CSSS3
- JavaScript 背景顏色隨機變化JavaScript隨機
- iOS 顏色製作背景圖片iOS
- [SVG]修改固定顏色為填充顏色SVG
- HTML 顏色色號HTML
- 【CSS】顏色碼對照表CSS
- switch控制元件(變更顏色)控制元件
- 強大的CSS:顏色、背景和剪下CSS
- 修改pyqtgraph匯出檢視背景顏色QT
- iOS button背景顏色狀態設定iOS
- 表格奇偶行不同背景顏色程式碼
- javascript網頁背景顏色漸變效果JavaScript網頁
- JavaScript元素點選背景顏色切換JavaScript
- css樣式背景顏色漸變效果CSS
- QQ群 會話顏色參照表會話
- css顏色程式碼對照CSS
- 顏色對比比率計算
- 短視訊系統,android Switch修改顏色修改樣式滑塊顏色Android
- 使用 Promise 迴圈改變 div 背景顏色Promise
- iOS 背景圖層的顏色漸變效果iOS
- JavaScript點選按鈕切換背景顏色JavaScript
- IOS設定狀態列的背景顏色iOS
- 自定義chrome的輸入框背景顏色Chrome
- 短視訊系統,不改變背景顏色的基礎上更改邊框和字型顏色
- css3 ::selection的用法(改變選中文字的背景顏色或者文字顏色)CSSS3