静态控件主要起说明和装饰作用,包括静态文本(Static Text)控件和图片(Picture)控
件两类。静态文本控件用来显示文本信息。静态控件封装在MFC 的CStatic 类中,成员函数
Create 负责创建静态控件,该函数的声明如下:
BOOL Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID =
0xffff );
其中参数lpszText 指定了控件中显示的文本内容,dwStyle 指定了静态控件的风格,如表
5-2 所示。rect 是一个对RECT 或CRect 结构的引用,用来说明控件的位置和尺寸。pParentWnd
指向父窗口,该参数不能为NULL。nID 则说明了控件的ID。如果控件创建成功,该函数返
回TRUE,否则返回FALSE。
表5-2 静态控件风格
控件风格 含义
SS_BLACKFRAME 指定一个具有与窗口边界同色的框(默认为黑色)
SS_BLACKRECT 指定一个具有与窗口边界同色的实矩形(默认为黑色)
SS_CENTER 使显示的正文居中对齐,正文可以换行
SS_GRAYFRAME 指定一个具有与屏幕背景同色的边框
SS_GRAYRECT 指定一个具有与屏幕背景同色的实矩形
SS_ICON
使控件显示一个在资源中定义的图标,图标的名字有Create 函数的
lpszText 参数指定
SS_LEFT 左对齐正文,正文能回绕
SS_LEFTNOWORDWRAP 左对齐正文,正文不能回绕
SS_NOPREFIX 使静态正文串中的&不是一个热键提示符
SS_NOTIFY 使控件能向父窗口发送鼠标事件消息
SS_RIGHT 右对齐正文,可以回绕
SS_SIMPLE 使静态正文在运行时不能被改变并使正文显示在单行中
SS_USERITEM 指定一个用户定义项
SS_WHITEFRAME 指定一个具有与窗口背景同色的框(默认为白色)
SS_WHITERECT 指定一个具有与窗口背景同色的实心矩形(默认为白色)
除了指定如表5-2 所示的风格外,一般还要为控件指定WS_CHILD 和WS_VISIBLE 窗
口风格。一个典型的静态正文控件的风格为WS_CHILD|WS_VISIBLE|SS_LEFT。对于用对
话框模板编辑器创建的静态控件,可以在控件的属xìng对话框中指定控件风格。例如,可以在
静态正文控件的属xìng对话框中选择Simple,这相当于指定了SS_SIMPLE 风格,这在一定程
度上方便了控件的生成。
5.1.3 Cstatic 类的主要成员函数
CStatic 类主要的成员函数如表5-3 所示,同时也可以利用CWnd 类的成员函数
GetWindowText、SetWindowText 和GetWindowTextLength 来查询和设置静态控件中显示的文
本信息。