VC中如何改變對框中控件的顏色

發表于:2007-07-14來源:作者:點擊數: 標簽:
在VC中,當我們大量的運用控件時,往往會為改變控件的顏色所煩惱。因為VC不象 VB 那樣,可以方便地改變對話框及各個控件的顏色,要改變一個控件的顏色比較煩瑣。本文所介紹的就是如何改變在一個對框上的控件的顏色。步驟如下: ① 先創建一個基于對話框的工
  在VC中,當我們大量的運用控件時,往往會為改變控件的顏色所煩惱。因為VC不象VB那樣,可以方便地改變對話框及各個控件的顏色,要改變一個控件的顏色比較煩瑣。本文所介紹的就是如何改變在一個對框上的控件的顏色。步驟如下:  

    ① 先創建一個基于對話框的工程,命名為test,然后在對話框上加入一個ListBox控件。  

    ② 在testDlg.h中加入一個成員變量:CBrush m_brush;  

    ③ 在OnInitDialog()中,加入m_brush.CreateSolidBrush( RGB(0,0,0 );此處設置的RGB值可以改變ListBox的背景色。為了觀看ListBox中字的顏色變化,我們給ListBox加入幾個字:利用Class Wizard給ListBox加入一個Control類型的成員變量m_ctrlListBox,然后在OnInitDialog()加入如下所示的代碼:  

  m_ctrlListBox.AddString("1號選手");

  m_ctrlListBox.AddString("2號選手");

    ④ 點擊Class Wizard,給testDlg加入WM_CTLCOLOR事件,單擊Edit Code按鈕,然后把改函數的內容替換為如下代碼:

  if(nCtlColor== CTLCOLOR_LISTBOX)

  {

    pDC- >SetBkMode(TRANSPARENT);

    pDC- >SetTextColor(RGB(255,255,255));

    //此處設置字體的顏色

    return (HBRUSH)m_brush.GetSafeHandle();

  }

  else

    return CDialog::OnCtlColor (pDC, pWnd, nCtlColor);

    現在編譯并運行改程序,可以看到列表框已經變成黑色而其中的字已經變為白色了!

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97