• <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>
            asm, c, c++ are my all
            -- Core In Computer
            posts - 139,  comments - 123,  trackbacks - 0

            很多人都覺得自己的程序的界面不那么美觀, 往往VC默認(rèn)產(chǎn)生的對話框比較單調(diào), 因此很多人往往找到很多其它的控件對對話框進(jìn)行美化修飾, 例如給靜態(tài)控件設(shè)置字體, 設(shè)置背景顏色等等, 其實(shí)這些完全可以由VC自己的WM_CTLCOLOR消息來完成!

            WM_CTLCOLOR消息用來完成對EDIT, STATIC, BUTTON等控件設(shè)置背景和字體顏色, 其用法如下:

            1.首先在自己需要設(shè)置界面的對話框上點(diǎn)擊右鍵-->建立類向?qū)?->加入WM_CTLCOLOR消息-->自動(dòng)生成OnCtlColor()函數(shù), 此函數(shù)可以對本對話框的控件的界面外觀做修飾, 用法如下:
            將類向?qū)Мa(chǎn)生的函數(shù)做如下修改:

            HBRUSH CDialogColor::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
            {
            ??? HBRUSH hbr = CDialog::OnCtlColor(pDC,pWnd, nCtlColor);
            ??? // TODO: Change any attributes of the DC here
            ??? // 設(shè)置顯示字體
            ??? CFont * cFont=new CFont;
            ??? cFont->CreateFont(16,0,0,0,FW_SEMIBOLD,FALSE,FALSE,0,
            ??????????????? ANSI_CHARSET,OUT_DEFAULT_PRECIS,
            ??????????????? CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
            ??????????????? DEFAULT_PITCH&FF_SWISS,"Arial");
            ??? // 對特定的控件做修改
            ??? switch()
            ??? {
            ??????? case CTLCOLOR_STATIC: //對所有靜態(tài)文本控件的設(shè)置
            ??????? {
            ??????????? pDC->SetBkMode(TRANSPARENT);
            ??????????? //設(shè)置背景為透明
            ??????????? pDC->SetTextColor(RGB(255,255,0)); //設(shè)置字體顏色
            ??????????? pWnd->SetFont(cFont); //設(shè)置字體
            ??????????? HBRUSH B = CreateSolidBrush(RGB(125,125,255));
            ??????????? //創(chuàng)建畫刷
            ??????????? return (HBRUSH) B; //返回畫刷句柄
            ??????? }
            ??????? case CTLCOLOR_EDIT: //對所有編輯框的設(shè)置
            ??????? {
            ??????????? pDC->SetBkMode(TRANSPARENT);
            ??????????? pDC->SetTextColor(RGB(255,255,0));
            ??????????? pWnd->SetFont(cFont);
            ??????????? HBRUSH B = CreateSolidBrush(RGB(125,125,255));
            ??????????? return (HBRUSH) B;
            ??????? }
            ??????? default:
            ??????????? return CDialog::OnCtlColor(pDC,pWnd, nCtlColor);
            ??? }
            }

            注:case的類別有以下幾種:
            CTLCOLOR_BTN 按鈕控件
            CTLCOLOR_DLG 對話框
            CTLCOLOR_EDIT 編輯框
            CTLCOLOR_LISTBOX 列表框
            CTLCOLOR_MSGBOX 消息框
            CTLCOLOR_SCROLLBAR 滾動(dòng)條
            CTLCOLOR_STATIC 靜態(tài)文本

            2.你可能覺得對所有的控件使用統(tǒng)一的界面設(shè)置覺得不自由, 其實(shí)VC同樣可以對特定的ID的控件進(jìn)行設(shè)置, 方法如下:

            switch (pWnd->GetDlgCtrlID())
            {
            ??? //針對ID為IDC_CTL1, IDC_CTL2和IDC_CTL3的控件進(jìn)行同樣的設(shè)置
            ??? case IDC_CTL1:
            ??? case IDC_CTL2:
            ??? case IDC_CTL3:
            ??? {
            ??????? pDC->SetBkMode(TRANSPARENT);
            ??????? pDC->SetTextColor(RGB(255,255, 0));
            ??????? pWnd->SetFont(cFont);
            ??????? HBRUSH B = CreateSolidBrush(RGB(125,125,255));
            ??????? return (HBRUSH) B;
            ??? }
            ??? default:
            ??????? return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
            }

            posted on 2006-06-24 22:30 Jerry Cat 閱讀(683) 評論(0)  編輯 收藏 引用

            <2006年4月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            常用鏈接

            留言簿(7)

            隨筆檔案

            最新隨筆

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            欧美激情精品久久久久久久九九九| 日本久久久久久中文字幕| 久久久久一本毛久久久| 亚洲精品NV久久久久久久久久 | 亚洲国产精品一区二区久久| 久久久久综合网久久| 欧美久久一区二区三区| 日韩av无码久久精品免费| 国内精品久久久久久麻豆| 久久精品国产久精国产果冻传媒 | 久久99精品国产99久久6| 久久福利资源国产精品999| 精品久久久无码人妻中文字幕豆芽 | 91精品免费久久久久久久久| 欧洲国产伦久久久久久久| 人妻少妇久久中文字幕一区二区| 久久久久久极精品久久久| 人妻少妇久久中文字幕一区二区| 亚洲国产成人精品91久久久| 亚洲综合婷婷久久| 日本人妻丰满熟妇久久久久久| 热RE99久久精品国产66热| 久久99热狠狠色精品一区| 一本一本久久a久久综合精品蜜桃| 国内精品久久久久久中文字幕 | 婷婷久久久亚洲欧洲日产国码AV | 亚洲午夜精品久久久久久人妖| 99久久香蕉国产线看观香| 久久综合亚洲色HEZYO国产| 亚洲一区二区三区日本久久九| 久久ww精品w免费人成| 99久久国产综合精品女同图片| 思思久久99热只有频精品66| 久久国产福利免费| 国产叼嘿久久精品久久| 伊人丁香狠狠色综合久久| 99久久成人国产精品免费| 久久99亚洲网美利坚合众国| 中文字幕久久久久人妻| 久久九九兔免费精品6| 亚洲AV无码一区东京热久久|