国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
VC/MFC如何設(shè)置對(duì)話(huà)框背景顏色

VC/MFC如何設(shè)置對(duì)話(huà)框背景顏色

方法一:調(diào)用CWinApp類(lèi)的成員函數(shù)SetDialogBkColor來(lái)實(shí)現(xiàn)。  (這個(gè)函數(shù)已經(jīng)廢棄)

1
void SetDialogBkColor(COLORREF clrCtlBk = RGB(192, 192, 192), COLORREF clrCtlText = RGB(0, 0, 0));

其中函數(shù)的第一個(gè)參數(shù)指定了背景顏色,第二個(gè)參數(shù)指定了文本顏色。

在InitInstance()中添加如下代碼:  

1
SetDialogBkColor(RGB(0,0,255),RGB(255,0,0));

值得注意的是:在調(diào)用DoModal()之前必須先調(diào)用SetDialogBkColor。

這種方法經(jīng)過(guò)筆者驗(yàn)證,并不能改變對(duì)話(huà)框背景

方法二:重載OnPaint(),即WM_PAINT消息

1
2
3
4
CRect   rect; 
 CPaintDC   dc(this); 
 GetClientRect(rect); 
 dc.FillSolidRect(rect,RGB(0,255,0));   //設(shè)置為綠色背景

方法三:重載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,   UINT   nCtlColor)   
/*  下行代碼要注釋掉 
     HBRUSH   hbr   =   CDialog::OnCtlColor(pDC,   pWnd,   nCtlColor); 
*/ 
return   m_brush;   //返加紅色刷子 
}

方法四:還是重載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, UINT nCtlColor)
  
  HBRUSH   hbr   =   CDialog::OnCtlColor(pDC,   pWnd,   nCtlColor); 
  //在這加一條是否為對(duì)話(huà)框的判斷語(yǔ)句 
     if(nCtlColor   ==CTLCOLOR_DLG) 
        return   m_brush;   //返加紅色刷子 
  return   hbr; 
  }

可以根據(jù)不同的控件類(lèi)型返回不同的畫(huà)刷,來(lái)實(shí)現(xiàn)不同控件顏色的設(shè)置  

1
2
3
4
5
6
7
CTLCOLOR_BTN                按鈕控件
 CTLCOLOR_DLG                對(duì)話(huà)框
 CTLCOLOR_EDIT               編輯框
 CTLCOLOR_LISTBOX            列表控件
 CTLCOLOR_MSGBOX             消息控件
 CTLCOLOR_SCROLLBAR          滾動(dòng)條控件
 CTLCOLOR_STATIC             靜態(tài)控件
1
這里大家要注意,OnCtlColor能改變Static等子控件的顏色,對(duì)于Button必須設(shè)置其屬性O(shè)wner Draw為T(mén)rue,才能改變Button按鈕背景色(CButton 文本的字體顏色并不能通過(guò)SetBkColor來(lái)改變,需要自己重繪CButton,在DrawItem中進(jìn)行實(shí)現(xiàn)。
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
HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
 HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
 // TODO:  在此更改 DC 的任何屬性
 if(nCtlColor==CTLCOLOR_BTN)          //更改按鈕顏色
 {
  //pDC->SetBkMode(TRANSPARENT);
  pDC->SetTextColor(RGB(0,0,0));
  pDC->SetBkColor(RGB(121,121,255));  
  HBRUSH b=CreateSolidBrush(RGB(121,121,255));
  return b;
 }
 else if(nCtlColor==CTLCOLOR_SCROLLBAR)  //
 {
  //pDC->SetBkMode(TRANSPARENT);
  pDC->SetTextColor(RGB(0,0,0));
  pDC->SetBkColor(RGB(233,233,220));
  HBRUSH b=CreateSolidBrush(RGB(233,233,220));
  return b;
 }
 else if(nCtlColor==CTLCOLOR_EDIT)   //更改編輯框
 {
  //pDC->SetBkMode(TRANSPARENT);
  pDC->SetTextColor(RGB(0,0,0));
  pDC->SetBkColor(RGB(165,254,236));
  HBRUSH b=CreateSolidBrush(RGB(165,254,236));
  return b;
 }
 else if(nCtlColor==CTLCOLOR_STATIC)  //更改靜態(tài)文本
 {
  pDC->SetTextColor(RGB(0,0,0));
  pDC->SetBkColor(RGB(166,254,1));
  HBRUSH b=CreateSolidBrush(RGB(166,254,1));
  return b;
 }
 else if(nCtlColor==CTLCOLOR_DLG)   //更改對(duì)話(huà)框背景色
 {
  pDC->SetTextColor(RGB(0,0,0));
  pDC->SetBkColor(RGB(166,254,1));
  HBRUSH b=CreateSolidBrush(RGB(166,254,1));
  return b;
 }
 // TODO:  如果默認(rèn)的不是所需畫(huà)筆,則返回另一個(gè)畫(huà)筆
 return hbr;
}
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
vc++設(shè)置控件的背景色
對(duì)話(huà)框背景色、靜態(tài)文本和編輯框字體色、背景色設(shè)置 - 編程天地 - 一葉方舟
CStatic設(shè)置文字、字體、顏色和OnCtlColor的使用
MFC中為對(duì)話(huà)框設(shè)置背景色
VC MFC中修改STATIC的文本顏色
CStatic從文件夾加載位圖
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服