windows 程序设计——静态类
来源:互联网 发布:软件红蜘蛛 编辑:程序博客网 时间:2024/05/19 21:01
在CreateWindow函数中指定窗口类别为「static」,您就可以建立静态文字的子窗口控件。这些子窗口非常「文静」。它既不接收鼠标或键盘输入,也不向父窗口发送WM_COMMAND消息。
当您在静态子窗口上移动或者按下鼠标时,这个子窗口将拦截WM_NCHITTEST消息并将HTTRANSPARENT的值传回给Windows,这将使Windows向其下层窗口,通常是它的父窗口,发送相同的WM_NCHITTEST消息。父窗口常常将该消息传递给DefWindowProc,在这里,它被转换为显示区域的鼠标消息。
前六个静态窗口样式只简单地在子窗口的显示区域内画一个矩形或者边框。在下表的上部,「RECT」静态样式(左列)是填入图样的矩形样式;三个「FRAME」样式(右列)是没有填入图样的矩形轮廓:
SS_BLACKRECT
SS_GRAYRECT
SS_WHITERECT
SS_BLACKFRAME
SS_GRAYFRAME
SS_WHITEFRAME
「BLACK」、「GRAY」、「WHITE」并不意味着黑、灰和白色,这些颜色是由系统颜色决定的,如表9-4所示。
表9-4
静态控件
系统颜色
BLACK
COLOR_3DDKSHADOW
GRAY
COLOR_BTNSHADOW
WHITE
COLOR_BTNHIGHLIGHT
对这些样式,CreateWindow呼叫中的窗口文字字段被忽略。矩形的左上角开始于x位置坐标和y位置坐标,这些坐标都相对于父窗口。您也可以使用SS_ETCHEDHORZ、SS_ETCHEDVERT或者SS_ETCHEDFRAME ,采用灰色和白色建立一个形似阴影的边框。
静态类别也包括了三种文字样式:SS_LEFT、SS_RIGHT和SS_CENTER。它们建立左对齐、置右对齐和居中文字。文字在CreateWindow呼叫的窗口文字参数中给出,并且在以后可以用SetWindowText来改变它。当静态控件的窗口消息处理程序显示文字时,它使用DrawText函数以及DT_WORDBREAK、DT_NOCLIP和DT_EXPANDTABS参数。文字在子窗口的矩形内可以按文字进行换行。
这三种文字样式子窗口的背景通常为COLOR_BTNFACE,而文字本身是COLOR_WINDOWTEXT。在拦截WM_CTLCOLORSTATIC消息时,您可以通过呼叫SetTextColor来改变文字颜色,通过SetBkColor来改变背景颜色,并传回背景画刷句柄。后面的COLORS1程序展示了这一点。
最后,静态类别还包括了窗口样式SS_ICON和SS_USERITEM,但是当它们被用作子窗口控件时却没有任何意义。我们在讨论对话框时还要提及它们。
- windows 程序设计——静态类
- windows程序设计——窗口类
- 《Windows程序设计》——字符集
- windows程序设计——CreateProcess()
- Windows程序设计——GetObject
- windows程序设计——键盘
- windows程序设计——鼠标
- windows程序设计——计时器
- 关于windows程序设计 列表框类 ——environ
- Windows程序设计——终止进程运行
- 《汇编语言程序设计》——仿windows计算器
- 《Windows程序设计》笔记 —— Chapter One
- 《Windows程序设计》笔记 —— Chapter Two
- 《Windows程序设计》笔记 —— Chapter Three
- 《Windows程序设计》笔记 —— Chapter Four
- windows程序设计——WM_消息
- windows程序设计篇——插入位图
- windows程序设计——串口通信
- 批处理文件*.bat打开后闪退的处理方法
- Word 2007敏感信息及存储结构
- 黑马程序员_张孝祥_Java基础加强_小知识点汇总
- oracle查看表数据的对象,所在文件,所在块等信息
- vi编辑器常用命令
- windows 程序设计——静态类
- JS,Jquery获取各种屏幕的宽度和高度
- poj 3735 Training little cats(构造矩阵快速幂)
- vi的使用
- oracle中的进制转换
- 黑马程序员--字符流与编码学习
- 我的职场前半生
- 开发者制作图形图表所需的11款JS工具包
- ios下最简单的正则,RegexKitLite