青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++樂園

C/C++ 交流

  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  12 隨筆 :: 18 文章 :: 14 評論 :: 0 Trackbacks


動態(tài)改變Dialog中IDC_STATIC的文字:
SetDlgItemText(IDC_STATIC,"ABC");

動態(tài)改變Dialog中IDC_STATIC文字的顏色:
重載OnCtlColor函數(shù),在要更改顏色的時候向?qū)υ捒虬l(fā)送WM_CTLCOLOR就行了。


1.在對話框的類中加入成員:

CBrush m_brush;
COLORREF m_color;

2.在OnInitDialog()中,加入

m_brush.CreateSolidBrush(RGB(255,255,255));
//此處設(shè)置的RGB值可以改變控件的背景色。

m_color=RGB(0,0,0)
//此處設(shè)置控件的文字初始顏色。

3.響應(yīng)WM_ONCTLCOLOR消息,重載OnCtlColor()函數(shù),加入:
if(nCtlColor== CTLCOLOR_STATIC){
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(m_color);
return (HBRUSH)m_brush.GetSafeHandle();
}

4.需要改變顏色時
m_color=RGB(128,0,255);//此處改變字體的顏色
CStatic* m_pStatic1=(CStatic*)GetDlgItem(IDC_STATIC1);
m_pStatic1->RedrawWindow();

 


關(guān)于控件背景和字體顏色設(shè)置的疑惑,只要70分,一問題35分
qiangv (說完就走)      2005-03-05 20:15:15 在 VC/MFC / 界面 提問如一個dialog中有一button,一edit控件  
   
   1。把dialog畫出來是發(fā)生在initinstance之后么,每個控件都是一個窗口  
   他們的回調(diào)函數(shù)都是AfxWinPro()  
   有一個函數(shù)OnCtlColor是響應(yīng)畫出來這個消息的么?能不能把發(fā)生的流程說出來。  
   
   
   2。還有改變button按鈕的背景色和前景色為什么要新建一個類,而不能在onctlcolor中改變呢  
   ownerdraw是什么意思,什么時候發(fā)生呢?

問題點數(shù):70、回復(fù)次數(shù):3

1、OnCtlColor是響應(yīng)WM_CTLCOLOR消息的函數(shù)。當(dāng)子控件將要被繪制的時候,就會發(fā)送一個WM_CTLCOLOR消息給它的父窗口(通常是對話框),父窗口準(zhǔn)備正確的顏色來繪制子窗口。在一個對話框中,每一個控件的繪制都會發(fā)送這個消息,也就是說這個OnCtlColor函數(shù)會被調(diào)用多次。OnCtlColor是一個虛函數(shù),在沒有被覆蓋之前,直接調(diào)用父類的OnCtlColor函數(shù),返回一個畫刷句柄,并用這個返回的畫刷句柄去繪制這個控件。因此,我們可以在這個函數(shù)中來設(shè)置控件的背景和控件上文字的顏色、文字字體及文字的背景色,但是對于Button控件,卻不能直接來改變背景顏色。  
   2、Button是一種自繪制控件,在自繪制之前就會調(diào)用一個虛函數(shù)CButton;;DrawItem(),因此,要想改變Button的背景及字體,就要定義一個Button類從CButton派生出來,并且覆蓋DrawItem(),則當(dāng)要繪制這個按鈕的時候,框架就會調(diào)用這個函數(shù)。來改變Button的背景顏色和字體,此外,還要設(shè)置控件的ownerdraw屬性.

MSDN上有查過...有一點不明白  
   所謂自繪是不是它有自己的ondraw函數(shù)?  
   它的WM_CTLCOLOR消息不是一樣送到和別的控件一樣的回調(diào)函數(shù)里去么?  
   它也繼承了CWND  
   應(yīng)該也有OnCtlColor函數(shù)的呀

1.還有改變button按鈕的背景色和前景色為什么要新建一個類,而不能在onctlcolor中改變呢  
   ownerdraw是什么意思,什么時候發(fā)生呢?  
   因為在他上面貼了一層用于顯示標(biāo)題或貼圖.  

 

要改變對話框的一般顏色,可以在C***App的InitInstance函數(shù)里加入如下代碼:SetDialogBkColor(RGB(0,255,255),RGB(255,0,0));//背景青藍(lán)、文字紅色
但是這樣不能改變對話框中的圖形控件的顏色;
每個控件在dialog中都是一個窗口,當(dāng)要繪制控件時,會發(fā)出一個WM_CTLCOLOR消息給它的父窗口(對話框本身).消息映射及響應(yīng)函數(shù)如下:
ON_WM_CRLCOLOR()   //反映WM_CTLCOLOR消息

afx_msg HBRUSH CWnd::OnCrlColor(CDC* pDC,CWnd* pWnd,UINT nCtlColor);

//

nCtlColor類型:

CTLCOLOR_DLG對話框本身,不含有所有的控件

CTLCOLOR_STATIC 所有包含static text控件的設(shè)置(也包括無效的edit box、combo box的eidt box)

CTLCOLOR_EDIT      edit box與combo box的eidt box部分

CTLCOLOR_LIST      list box與combo box的edit box部分

CTLCOLOR_SCROLLBAR   Scroll bar的空白區(qū)

我們也可以單獨改變某一個控件的顏色.OnCtrlColor函數(shù)的pWnd成員變量是各控件的窗口指針,以pWnd->GetDlgCtrlID()可以獲得調(diào)用此函數(shù)的控件ID,將它與已知ID比較,就可以改變這個控件的顏色。

if(pWnd->GetDlgCtrlID() ==IDC_CONTROL)//為控件的ID

{

//pDC->SetBkColor(RGB(255, 0, 0)); -----------在這里也用上了這種寫法。不行的,

}

另外一個作法是比較pWnd;例如:如果一個edit box控件的成員變量m_edit1被聲明為CEdit類,那么把m_edit1.m_hWnd與pWnd->m_hWnd比較,也可以知道是哪個控件.

下面是一個例子:

HBRUSH CDIALOGDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

     HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

     // TODO: Change any attributes of the DC here

if(nCtlColor==CTLCOLOR_EDIT)

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

if(nCtlColor== CTLCOLOR_LISTBOX)

     {
HBRUSH m_hbrush;
m_hbrush=CreateSolidBrush(RGB(0,0,0));

         pDC->SetBkMode(TRANSPARENT);

                 //設(shè)置字體顏色

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

         return m_hbrush;

     }

     CBrush m_cBrush;

     m_cBrush.CreateSolidBrush(RGB(0,255,255));

     switch(nCtlColor)

     {

     case CTLCOLOR_DLG:

         pDC->SetBkMode(TRANSPARENT);

         break;

     case CTLCOLOR_STATIC:

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

         pDC->SetBkColor(RGB(0,255,255));     

         break;

     }

     DeleteObject(m_cBrush);

     // TODO: Return a different brush if the default is not desired

     return hbr;
 

posted on 2008-09-18 13:27 小不懂^_^ 閱讀(7314) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品普通话对白| 欧美一区二区精品在线| 两个人的视频www国产精品| 欧美一区二区三区啪啪| 99综合视频| 在线观看国产日韩| 亚洲国产日韩在线一区模特| 欧美久久久久久久久久| 欧美不卡视频一区| 欧美视频一区二区三区…| 欧美偷拍一区二区| 国产精品午夜在线观看| 国内精品国产成人| 亚洲精品国偷自产在线99热| 亚洲天天影视| 久久久久久电影| 亚洲国产高潮在线观看| 一区二区三区日韩在线观看| 久久国产精彩视频| 欧美大色视频| 国产欧美日韩免费看aⅴ视频| 伊人久久婷婷| 亚洲免费在线电影| 欧美ab在线视频| 在线视频精品| 免费久久精品视频| 国产精品日韩欧美一区二区| 伊人久久大香线蕉av超碰演员| 一二三区精品福利视频| 久久亚洲国产成人| 一区二区三区四区五区精品| 久久久久这里只有精品| 国产精品超碰97尤物18| 亚洲韩日在线| 久久精品国产在热久久| 一区二区三区精密机械公司| 欧美本精品男人aⅴ天堂| 国产日韩欧美高清免费| 中日韩午夜理伦电影免费| 女女同性精品视频| 羞羞视频在线观看欧美| 欧美高清在线精品一区| 亚洲欧美中文字幕| 欧美激情精品久久久六区热门 | 久久久久久久久伊人| 亚洲精品小视频| 麻豆精品一区二区av白丝在线| 国产精品主播| 午夜精品久久| 制服丝袜亚洲播放| 欧美日韩亚洲系列| 日韩视频精品在线观看| 欧美不卡高清| 久久一二三区| 亚洲第一精品福利| 免费不卡在线观看| 久久久水蜜桃| 在线观看欧美日韩| 农村妇女精品| 欧美电影免费| 99re热精品| 99re热精品| 欧美午夜精品久久久久久久 | 日韩一二三在线视频播| 欧美—级高清免费播放| 亚洲黄网站在线观看| 欧美暴力喷水在线| 美女尤物久久精品| 亚洲精品在线看| 亚洲国产高清自拍| 欧美精品一区二区精品网| 亚洲精选一区二区| 一本色道久久综合亚洲二区三区| 欧美日韩网址| 欧美一区二区三区免费大片| 香蕉久久夜色精品国产| 狠狠色噜噜狠狠色综合久| 免费成人在线视频网站| 欧美国产日韩亚洲一区| 亚洲一区二区高清视频| 亚洲欧美国产77777| 黄色成人免费观看| 亚洲国产一区二区a毛片| 欧美视频一区在线| 久久久久一区二区三区| 欧美国产日韩一区二区| 午夜精品国产更新| 老色鬼精品视频在线观看播放| 99在线热播精品免费99热| 一本色道久久综合亚洲二区三区| 日韩亚洲成人av在线| 国产日产精品一区二区三区四区的观看方式| 久久国产欧美| 欧美91视频| 久久国产精品一区二区三区| 欧美+日本+国产+在线a∨观看| 91久久久久久| 欧美在线|欧美| 久久久久**毛片大全| 亚洲一区综合| 欧美日韩午夜在线视频| 亚洲日本理论电影| 亚洲美女在线观看| 亚洲欧美日韩国产一区| 在线天堂一区av电影| 欧美日韩精品一区二区在线播放| 亚洲国产成人一区| 亚洲国内自拍| 欧美日韩一区二区三区四区五区 | 欧美二区在线播放| 欧美日韩国产综合久久| 国产在线国偷精品产拍免费yy| 久久综合九色综合欧美狠狠| 欧美日韩国产二区| 久久夜色精品国产亚洲aⅴ| 久久永久免费| 校园春色综合网| 欧美极品一区二区三区| 久久综合久久美利坚合众国| 欧美偷拍另类| 亚洲国产欧美在线| 国产午夜精品一区二区三区视频| 亚洲国产精品久久91精品| 久久精品99国产精品酒店日本| 欧美精品二区| 一区二区三区毛片| 蜜桃av一区二区| 久久久久久97三级| 亚洲欧美综合v| 99ri日韩精品视频| 久久综合电影| 免费人成精品欧美精品| 亚洲国产精品一区二区久| 国产精品一区二区三区久久| 亚洲色图综合久久| 在线亚洲自拍| 欧美视频日韩| 亚洲欧洲精品一区| 亚洲午夜精品久久久久久浪潮| 亚洲新中文字幕| 亚洲图片激情小说| 欧美视频久久| 亚洲小说欧美另类婷婷| 亚洲欧美在线一区| 国产精品一区在线观看| 亚洲欧美国产77777| 亚洲午夜激情免费视频| 午夜精品久久久久影视| 国产午夜久久久久| 午夜精品久久久久99热蜜桃导演| 亚洲欧美日韩精品综合在线观看| 欧美深夜影院| 亚洲视频一区二区在线观看| 午夜国产精品视频| 国产日产高清欧美一区二区三区| 性伦欧美刺激片在线观看| 久久视频在线免费观看| 亚洲国产日本| 欧美理论大片| 亚洲伊人伊色伊影伊综合网| 久久久久久穴| 亚洲人成在线播放| 国产精品成人一区二区网站软件| 午夜日韩激情| 亚洲第一在线视频| 亚洲欧美一区二区视频| 在线观看av不卡| 欧美三级电影大全| 久久久久国产免费免费| 亚洲精品日韩在线观看| 久久精品视频亚洲| 亚洲乱码国产乱码精品精可以看 | 欧美在线视频免费播放| 欧美成人自拍| 午夜精品区一区二区三| 永久免费视频成人| 欧美三级电影大全| 欧美大片在线观看| 欧美午夜一区二区福利视频| 在线观看精品| 亚洲精品一区二区在线| 狠狠色狠狠色综合| 亚洲欧美日韩区| 亚洲一区二区三区777| 美日韩在线观看| 久久精品成人欧美大片古装| 欧美精品日韩一区| 亚洲黄页视频免费观看| 国产一区视频网站| 亚洲在线观看视频| 亚洲女同精品视频| 欧美日韩国产小视频在线观看| 久久国产日本精品| 亚洲精品黄网在线观看| 国产精品久久久久久久久久妞妞 | 欧美中文字幕视频在线观看| 激情久久婷婷| 国产精品欧美日韩| 欧美人成网站| 欧美gay视频激情|