科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件WinX教程之我的实战(二)

WinX教程之我的实战(二)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

这次我们了解的接口的功能是如何更改窗口背景颜色,包括更改控件的背景颜色。

作者:绅士亦花心 来源:CSDN 2008年1月7日

关键字: 教程 WINX Windows

  • 评论
  • 分享微博
  • 分享邮件

这次我们了解的接口的功能是如何更改窗口背景颜色,包括更改控件的背景颜色。

 

step002中的几个例子中,我们可以看到在WinX中更改窗口背景色是通过一组宏来实现的:

l         WINX_BKGND_BRUSH

l         WINX_CTLBKGND_NULL

l         WINX_BKGND_PATTERN

l         WINX_CTLBKGND_BRUSH

1WINX_BKGND_BRUSH

WINX_BKGND_BRUSH带一个参数,即颜色,如GRAY_BRUSH等,这个Windows系统一致。顾名思义,就是将窗口的背景色设置为参数表示的颜色。如果你要指定一个窗口的背景色,只需要在类定义中加上这个宏就可以了,如:

class CMyDlg : public winx::ModalDialog< CMyDlg, IDD_MYDLG>

{
       WINX_BKGND_BRUSH(LTGRAY_BRUSH);

       
//……
};

 

下表列出了一些颜色:

颜色

描述

WHITE_BRUSH

白色

LTGRAY_BRUSH

轻灰色

GRAY_BRUSH

灰色

DKGRAY_BRUSH

重灰色

BLACK_BRUSH

黑色

2WINX_CTLBKGND_NULL

WINX_CTLBKGND_NULL带一个参数,即控件窗口类名,如ctlStatic。该宏将参数所指定的这类窗口的背景色 设置为透明。同样,使用方法是,在类定义中加上这个宏,如:

class CMyDlg : public winx::ModalDialog< CMyDlg, IDD_MYDLG>

{
       WINX_CTLBKGND_NULL(ctlButton);

       
//……
};

 

下表列出了一些窗口类名:

类名

描述

ctlMsgBox

消息框

ctlEdit

编辑框

ctlListBox

列表框

ctlButton

按钮

ctlDialog 

对话框

ctlScrollBar

滚动条

ctlStatic

文本框

3WINX_BKGND_PATTERN

WINX_BKGND_PATTERN带一个参数,为资源文件中一副位图的ID。该宏设定窗口背景为参数所指定的位图。如:WINX_BKGND_PATTERN(IDB_BKGND);

4WINX_CTLBKGND_BRUSH

于宏WINX_BKGND_BRUSH类似,但此宏有两个参数,分别为控件类名、背景颜色。设定控件的ID为指定的背景颜色。控件类名可以为多个类名相或的值,代表同时设置多个控件。如:WINX_CTLBKGND_BRUSH(CtlDialog|CtlStatic, GRAY_BRUSH);

 

其他设置窗口背景的宏:

l         WINX_BKGND_NULL

设定背景色为透明

l         WINX_BKGND_COLOR

设定背景颜色,类似于WINX_BKGND_COLOR,但参数不同,如COLOR_WINDOW,见附表一

l         WINX_CTLBKGND_COLOR

设定控件背景色,类似于WINX_CTLBKGND_BRUSH,但参数不同,参数取值同WINX_BKGND_COLOR,见附表一

l         WINX_CTLBKGND_NULL_ALL

设定所有控件背景色为透明。

 

由上面可以看出,Backgrnd相关的宏,其实分为两类,一类是WINX_BKGND_XXX,一类是WINX_CTLBKGND_XXX。前者指设置窗口的背景,后者指设置一类窗口的背景。

 

附表一:

窗口颜色

描述

COLOR_SCROLLBAR

滚动条

COLOR_BACKGROUND      

COLOR_ACTIVECAPTION    

COLOR_INACTIVECAPTION  

COLOR_MENU            

COLOR_WINDOW           

COLOR_WINDOWFRAME     

COLOR_MENUTEXT        

COLOR_WINDOWTEXT       

COLOR_CAPTIONTEXT    

COLOR_ACTIVEBORDER     

COLOR_INACTIVEBORDER 

COLOR_APPWORKSPACE     

COLOR_HIGHLIGHT       

COLOR_HIGHLIGHTTEXT    

COLOR_BTNFACE         

COLOR_BTNSHADOW       

COLOR_GRAYTEXT        

COLOR_BTNTEXT       

COLOR_INACTIVECAPTIONTEXT

COLOR_BTNHIGHLIGHT    


查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章