WinX教程之我的实战(二)
来源:互联网 发布:mac怎么打开输入法 编辑:程序博客网 时间:2024/05/29 04:19
终于可以不管MFC和WTL了,是啊,我们要用的是WinX,管其他是什么东西,管其他和WinX到底是相同还是不同呢。我们需要了解WinX的Interface。
这次我们了解的接口的功能是如何更改窗口背景颜色,包括更改控件的背景颜色。
从step002中的几个例子中,我们可以看到在WinX中更改窗口背景色是通过一组宏来实现的:
l WINX_BKGND_BRUSH
l WINX_CTLBKGND_NULL
l WINX_BKGND_PATTERN
l WINX_CTLBKGND_BRUSH
1、WINX_BKGND_BRUSH
WINX_BKGND_BRUSH带一个参数,即颜色,如GRAY_BRUSH等,这个Windows系统一致。顾名思义,就是将窗口的背景色设置为参数表示的颜色。如果你要指定一个窗口的背景色,只需要在类定义中加上这个宏就可以了,如:
{
WINX_BKGND_BRUSH(LTGRAY_BRUSH);
//……
};
下表列出了一些颜色:
颜色
描述
WHITE_BRUSH
白色
LTGRAY_BRUSH
轻灰色
GRAY_BRUSH
灰色
DKGRAY_BRUSH
重灰色
BLACK_BRUSH
黑色
2、WINX_CTLBKGND_NULL
WINX_CTLBKGND_NULL带一个参数,即控件窗口类名,如ctlStatic。该宏将参数所指定的这类窗口的背景色 设置为透明。同样,使用方法是,在类定义中加上这个宏,如:
{
WINX_CTLBKGND_NULL(ctlButton);
//……
};
下表列出了一些窗口类名:
类名
描述
ctlMsgBox
消息框
ctlEdit
编辑框
ctlListBox
列表框
ctlButton
按钮
ctlDialog
对话框
ctlScrollBar
滚动条
ctlStatic
文本框
3、WINX_BKGND_PATTERN
WINX_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
略
- WinX教程之我的实战(二)
- 推荐:《WinX教程之我的实战》
- WinX教程之我的实战(序)
- WinX教程之我的实战(一)
- WinX教程之我的实战(三)
- WinX教程之我的实战(四)
- WinX教程之我的实战(五)
- WinX教程之我的实战(六)
- WinX教程之我的实战(七)
- WinX教程之我的实战(八)
- WinX教程之我的实战系列之序、一、二、三、四、五、六
- WinX教程实战系列
- 我的Web开发实战总结(二)
- RabbitMQ 实战教程(二) 工作队列
- 【swift3实战】2048 教程(二)
- SpringMVC详细示例实战教程(二)
- mybatis实战教程(mybatis in action)之二:以接口的方式编程
- mybatis实战教程(mybatis in action)之二:以接口的方式编程
- 养成做事成功的习惯
- 图形编辑器中的文本框实现(sdk)
- 《The Complete Effect and HLSL Guide》翻译连载(四)
- 骂一下自己
- MdiForm窗体,Combo,DataCombo和DTPicker焦点
- WinX教程之我的实战(二)
- Web2.0的综合研究
- c#,java比较
- 求助!
- 将字符串中指定的字符替换成指定字符
- 如何点击IE窗口上方的“X关闭符号”,弹出提示窗口呢?
- 做WEB2.0网站可以参考的的十九条规则
- 深入 Lucene 索引机制
- C#的四中排序方法