WinX教程之我的实战(二)

来源:互联网 发布:mac怎么打开输入法 编辑:程序博客网 时间:2024/05/29 04:19

终于可以不管MFCWTL了,是啊,我们要用的是WinX,管其他是什么东西,管其他和WinX到底是相同还是不同呢。我们需要了解WinXInterface

 

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

 

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    

原创粉丝点击