CStatic
CStatic类提供了Windows的静态控件(static control)的功能。静态控件可显示文字,框,矩形,图标,鼠标,位图或增加的元文件。可用作标签,框,或隔开其它控件。静态控件通常不接受输入,并且没有输出。但若在创建时附带了SS_NOTIFY样式,则可以在鼠标点击时提醒其父窗口。
创建一个静态控件有两步:首先调用构造函数来构造CStatic对象,然后调用Create成员函数创建静态控件并把它绑定到CStatic对象上。
若在对话框里创建了CStatic对象(通过对话框资源),则CStatic对象在对话框关闭的时候将自动销毁。
若CStatic是在窗口中被创建的,则有可能也需要销毁它。在窗口的栈上创建的CStatic对象会被自销毁。若使用new关键字在堆上创建CStatic对象,则必须调用delete来销毁它。
CStatic类成员
创建CStatic对象 |
|
创建Windows静态控件,并与CStatic对象绑定 |
|
设置静态控件显示的位图 |
|
返回之前用SetBitmap设置的位图的句柄 |
|
设置静态控件显示的图标 |
|
返回之前用SetIcon设置的图标的句柄 |
|
设置静态控件显示的鼠标图像 |
|
返回之前用SetCursor设置的鼠标图像的句柄 |
|
设置静态控件显示的增强元文件 |
|
返回之前用SetEnhMetaFile设置的增强元文件的句柄 |
CStatic::CStatic
CStatic();
说明
创建CStatic对象
示例
// Create a static object on the stack.
CStatic myStatic;
// Create a static object on the heap.
CStatic* pmyStatic = new CStatic;
CStatic::Create
BOOL Create(LPCTSTR lpszText, DWORD dwStyle,
const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff);
返回值
成功返回TRUE,否则返回FALSE。
参数
lpszText |
指定控件显示的文本。若为NULL,则不显示文本。 |
dwStyle |
指定静态控件的样式。适用静态样式组合。 |
rect |
指定静态控件的位置及大小。既可为RECT结构体,也可为CRect对象。 |
pParentWnd |
指定CStatic的父窗口,通常为CDialog对象。不可为NULL。 |
nID |
指定此静态控件的控件ID。 |
说明
构造CStatic对象有两步。首先调用构造函数CStatic,然后调用Create,创建Windows静态控件,并将其绑定到CStatic对象。
静态控件应用以下窗口样式:
l WS_CHILD 一直
l WS_VISIBLE 通常
l WS_DISABLE 很少
若需要显示位图,鼠标,图标或元文件,需要指定以下样式:
l SS_BITMAP 显示位图
l SS_ICON 显示鼠标及图标
l SS_ENHMETAFILE 显示增强元文件
要显示鼠标,位图或图标,以下样式比较有用:
l SS_CENTERIMAGE 用于将图像居中
示例
CStatic myStatic;
// Create a child static control that centers its text horizontally.
myStatic.Create(_T("my static"), WS_CHILD|WS_VISIBLE|SS_CENTER,
CRect(10,10,150,50), pParentWnd);
静态控件样式
SS_BLACKFRAME |
指定一个带有框架的框,其颜色与窗口框架一致,默认为黑色 |
||
SS_BLACKRECT |
指定一个矩形,用窗口框架的颜色填充。默认为黑色 |
||
SS_CENTER |
指定一个简单的矩形,用于居中显示文本。文本在显示之前将被格式化,所有超过行末的文字将自动地换到下一行起始位置显示。 |
||
SS_GRAYFRAME |
指定一个带有框架的框,其颜色与屏幕背景(桌面)一致,默认为 |