中甲

WinX教程之我的实战(二)

2019-09-13 20:26:38来源:励志吧0次阅读

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

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

l WINX_BKGND_BRUSH

l WINX_CTLBKGND_NULL

l WINX_BKGND_PATTERN

l WINX_CTLBKGND_BRUSH

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

classCMyDlg:publicwinx::ModalDialog<CMyDlg,IDD_MYDLG>

{

WINX_BKGND_BRUSH(LTGRAY_BRUSH);

//……

};

下表列出了一些颜色:

颜色

描述

WHITE_BRUSH

白色

LTGRAY_BRUSH

轻灰色

GRAY_BRUSH

灰色

DKGRAY_BRUSH

重灰色

BLACK_BRUSH

黑色

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

classCMyDlg:publicwinx::ModalDialog<CMyDlg,IDD_MYDLG>

{

WINX_CTLBKGND_NULL(ctlButton);

//……

};

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

类名

描述

ctlMsgBox

消息框

ctlEdit

编辑框

ctlListBox

列表框

ctlButton

按钮

ctlDialog

对话框

ctlScrollBar

滚动条

ctlStatic

文本框

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

4、WINX_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

查看本文来源

产妇剖宫产术后便秘腹痛
小儿口舌生疮
小孩发烧多少度吃退烧药
小孩经常便秘怎么办
分享到: