VC MFC如何設定對話方塊背景顏色

2021-06-28 10:49:16 字數 3564 閱讀 4641

方法一:

在oninitdialog

()中新增如下**

setbackgroundcolor(rgb(246, 246, 246));

方法二:過載onerasebkgnd(),即wm_erasebkgnd訊息

//背景重繪bool cconnectdlg::onerasebkgnd(cdc* pdc)

方法三:過載onpaint(),即wm_paint訊息

crect   rect; 

cpaintdc dc(this);

getclientrect(rect);

dc.fillsolidrect(rect,rgb(0,255,0)); //設定為綠色背景

方法五:過載onctlcolor   (cdc*   pdc,   cwnd*   pwnd,   uint   nctlcolor),即wm_ctlcolor訊息

.h標頭檔案新增

cbrush  m_brush;

.cpp原始檔新增

m_brush.createsolidbrush(rgb(255,0,0)); 1

2

3

4

5

6

7

onctlcolor(cdc*   pdc,   cwnd*   pwnd,uintnctlcolor)

方法四:還是過載onctlcolor   (cdc*   pdc,   cwnd*   pwnd,   uint   nctlcolor), 即wm_ctlcolor訊息

.h標頭檔案新增

cbrush m_brush;

.cpp原始檔新增

m_brush.createsolidbrush(rgb(255,0,0)); 1

2

3

4

5

6

7

8

onctlcolor(cdc* pdc, cwnd* pwnd,uintnctlcolor)

可以根據不同的控制項型別返回不同的畫刷,來實現不同控制項顏色的設定  

1

2

3

4

5

6

7

ctlcolor_btn                按鈕控制項

ctlcolor_dlg                對話方塊

ctlcolor_edit               編輯框

ctlcolor_listbox            列表控制項

ctlcolor_msgbox             訊息控制項

ctlcolor_scrollbar          滾動條控制項

ctlcolor_static             靜態控制項

1

這裡大家要注意,onctlcolor能改變static等子控制項的顏色,對於button必須設定其屬性owner draw為true,才能改變button按鈕背景色(cbutton 文字的字型顏色並不能通過setbkcolor來改變,需要自己重繪cbutton,在drawitem中進行實現。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

hbrushc***dlg::onctlcolor(cdc* pdc, cwnd* pwnd,uintnctlcolor)

elseif(nctlcolor==ctlcolor_scrollbar)//

elseif(nctlcolor==ctlcolor_edit)//更改編輯框

elseif(nctlcolor==ctlcolor_static)//更改靜態文字

elseif(nctlcolor==ctlcolor_dlg)//更改對話方塊背景色

// todo:  如果預設的不是所需畫筆,則返回另乙個畫筆

returnhbr;

}

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...

VC MFC對話方塊中按鈕背景色以及大小設定

因為專案需要,這段時間對vc中對話方塊稍微研究學習了一下,其中碰到乙個問題,關於按鈕背景色設定的問題。搜尋資料,發現很多提到的是新建乙個繼承自cbutton的按鈕類,然後過載ondrawitem函式,再在自己的對話方塊中例項化此類,並繫結到自己的按鈕控制項上。實驗後發現,不知是 的問題,按鈕顯示為灰...