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

C++樂(lè)園

C/C++ 交流

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


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

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


1.在對(duì)話框的類(lèi)中加入成員:

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.需要改變顏色時(shí)
m_color=RGB(128,0,255);//此處改變字體的顏色
CStatic* m_pStatic1=(CStatic*)GetDlgItem(IDC_STATIC1);
m_pStatic1->RedrawWindow();

 


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

問(wèn)題點(diǎn)數(shù):70、回復(fù)次數(shù):3

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

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

1.還有改變button按鈕的背景色和前景色為什么要新建一個(gè)類(lèi),而不能在onctlcolor中改變呢  
   ownerdraw是什么意思,什么時(shí)候發(fā)生呢?  
   因?yàn)樵谒厦尜N了一層用于顯示標(biāo)題或貼圖.  

 

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

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

//

nCtlColor類(lèi)型:

CTLCOLOR_DLG對(duì)話框本身,不含有所有的控件

CTLCOLOR_STATIC 所有包含static text控件的設(shè)置(也包括無(wú)效的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ū)

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

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

{

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

}

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

下面是一個(gè)例子:

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 小不懂^_^ 閱讀(7327) 評(píng)論(0)  編輯 收藏 引用

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   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>
            亚洲自拍16p| 欧美大片在线观看一区二区| 日韩视频一区二区三区| 欧美黑人一区二区三区| 亚洲精品国产拍免费91在线| 亚洲一区二区精品视频| 国产精品永久| 欧美a级片网站| 在线视频你懂得一区| 久久久人成影片一区二区三区| 亚洲成色www久久网站| 欧美片网站免费| 欧美亚洲一区二区在线| 欧美激情第8页| 久久国产日本精品| 99精品黄色片免费大全| 国产一区二区中文| 欧美日韩国产美女| 久久夜色精品国产噜噜av| 亚洲天堂第二页| 亚洲黑丝在线| 久久久久久有精品国产| 亚洲美女在线视频| 永久555www成人免费| 欧美午夜精品久久久久免费视| 久久五月婷婷丁香社区| 欧美一级视频精品观看| 在线视频一区观看| 日韩亚洲国产欧美| 欧美激情一区二区三级高清视频| 亚洲欧美日韩国产综合| 在线视频精品一区| 一区二区三区视频在线| 亚洲国产另类精品专区| 久久亚洲国产精品日日av夜夜| 午夜精品999| 亚洲一级免费视频| 亚洲神马久久| 在线午夜精品自拍| 亚洲日韩第九十九页| 亚洲国产精品成人| 在线不卡中文字幕| 好吊妞这里只有精品| 国产日韩欧美一二三区| 亚洲国产专区校园欧美| 欧美a级片网| 玖玖综合伊人| 久久综合中文| 久久露脸国产精品| 久久久99精品免费观看不卡| 久久精品国产一区二区电影| 久久综合国产精品| 99精品福利视频| 亚洲欧洲日韩在线| 亚洲欧洲精品成人久久奇米网| 亚洲电影第三页| 最新精品在线| 99在线热播精品免费99热| 亚洲日本免费| 一本一本久久a久久精品综合妖精| 亚洲美女福利视频网站| 亚洲主播在线观看| 欧美伊久线香蕉线新在线| 久久男人资源视频| 欧美成人dvd在线视频| 欧美国产激情二区三区| 欧美特黄一级| 黑人巨大精品欧美一区二区| 亚洲国产专区校园欧美| 亚洲视频www| 久久久久久久综合| 欧美激情在线播放| 亚洲网站视频| 另类av一区二区| 欧美四级剧情无删版影片| 国产精品制服诱惑| 亚洲日本成人网| 亚洲影视中文字幕| 麻豆精品传媒视频| 99视频超级精品| 久久久综合免费视频| 欧美午夜精品久久久久久久| 国产综合自拍| 亚洲一区www| 欧美成人伊人久久综合网| 亚洲私人影院在线观看| 久久野战av| 国产日本欧美一区二区| 亚洲精品社区| 久久久久久久国产| 夜夜嗨av一区二区三区| 久久精品二区| 国产精品久久精品日日| 亚洲高清视频中文字幕| 亚洲欧美一区二区三区久久| 欧美激情国产日韩精品一区18| 中文日韩在线| 欧美区视频在线观看| 亚洲第一区中文99精品| 性久久久久久久久| 亚洲精品一区在线| 欧美成人精品福利| 揄拍成人国产精品视频| 欧美伊人精品成人久久综合97| 亚洲国产日韩美| 久久香蕉国产线看观看av| 国产日韩高清一区二区三区在线| 99精品视频一区| 亚洲伊人一本大道中文字幕| 免费观看欧美在线视频的网站| 免费高清在线一区| 久久久久久夜精品精品免费| 欧美亚洲成人精品| 欧美成人r级一区二区三区| 欧美一级免费视频| 亚洲一区二区三区在线看 | 99精品99| 欧美 日韩 国产精品免费观看| 亚洲一区二区免费视频| 欧美激情第10页| 久久亚洲精品中文字幕冲田杏梨| 欧美日韩免费一区二区三区视频| 亚洲国产成人在线视频| 国产精品美女一区二区| 亚洲美女黄色| 亚洲欧美日韩精品一区二区| 欧美日韩国产一级片| 一区二区三区国产在线| 亚洲欧美一区二区三区久久| 欧美午夜片欧美片在线观看| 亚洲高清精品中出| 亚洲欧美影院| 国产主播精品在线| 麻豆freexxxx性91精品| 欧美成人dvd在线视频| 99riav久久精品riav| 国产精品麻豆成人av电影艾秋| 亚洲欧美激情在线视频| 国产精品免费看片| 亚洲性感激情| 亚洲国产导航| 欧美一级久久久| 99热在线精品观看| 欧美区在线播放| 久久精品视频在线观看| 亚洲欧洲日本国产| 久久久久九九九九| 午夜精品久久久久久久| 黄色成人在线观看| 国产亚洲欧美一区| 欧美日韩专区| 欧美日韩一区二区三区| 狼人天天伊人久久| 免费观看在线综合色| 久久精品国产v日韩v亚洲| 一个人看的www久久| 最新中文字幕一区二区三区| 麻豆成人综合网| 久久久久久久高潮| 久久精品91| 午夜精品在线视频| 午夜视频在线观看一区| 亚洲主播在线观看| 欧美自拍丝袜亚洲| 久久精品在线视频| 久久久91精品国产| 久久成人免费电影| 久久久精品动漫| 欧美成人黄色小视频| 亚洲破处大片| 亚洲一区二区三区精品视频| 亚洲免费在线视频| 免费观看久久久4p| 国产精品久久国产愉拍| 国产乱码精品一区二区三区忘忧草 | 亚洲欧洲午夜| 亚洲丝袜av一区| 久久国产免费看| 久久久久久91香蕉国产| 亚洲一区二区三区在线播放| 99国产精品视频免费观看| 91久久精品一区二区别| 中文一区二区| 欧美在线中文字幕| 欧美高清hd18日本| 欧美一区二区三区四区在线观看地址 | 欧美jizzhd精品欧美巨大免费| 亚洲国产日韩综合一区| 亚洲图片在线观看| 国产精品日韩在线| 在线视频你懂得一区| 国产伦精品一区二区三区四区免费| 国产精品人成在线观看免费| 欧美日韩成人免费| 国产精品草莓在线免费观看| 国产精品久久久久久av福利软件| 午夜天堂精品久久久久 | 米奇777超碰欧美日韩亚洲| 亚洲国产精品小视频| 在线日韩日本国产亚洲|