CStatic控件的基本使用

 CStatic类继承自CWnd,提供了一个Windows静态控件的功能。一个静态控件可以用来显示一个文本字符串、方框、矩形、图标、光标、位图或增强的图元文件。它可以被用来作为标签、方框或用来分隔其它的控件。静态控件通常不接收输入,也不提供输出;但是,如果它具有SS_NOTIFY风格,则它可以通知其父有关设备点击的消息。

 创建一个静态控件分两步。首先,调用构造函数来构造一个CStatic类的对象,然后调用成员函数Create来创建此静态控件并将它分配给当前的CStatic类的对象。

 成员函数:

(1)BOOL Create(LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff);

【返回值】如果本成员函数调用成功则返回非零值;否则返回0。

【参 数】

 pszText:指定要放置在静态控件中的文本。如果是NULL,则表示没有文本是可见的。

 dwStyle:指定静态控件的窗口风格。以下任何静态控件风格的组合都可以用于这个控件。

                   SS_NOTIFY,在缺省情况下,静态控件是不响应鼠标事件的。只有在设置该风格后,当用户单击静态控件时,静态控件才向父窗口发送STN_CLICKED通知。

                   SS_BITMAP,指定在静态控件中显示一个被定义在资源文件中的位图。该风格将忽略静态控件的高度和宽度,静态控件将根据位图的大小自动调节自身的尺寸。

                    SS_BLACKFRAME,建立一个黑色的边框。

                    SS_BLACKRECT,建立一个黑色的矩形。

                    SS_CENTER,使文字在静态控件中水平居中。

                    SS_CENTERIMAGE,当静态控件用于显示文本时,该风格将使文本在静态控件中垂直居中。当静态控件用于显示位图或图标时,该风格将使位图或图标在静态控件中垂直居中,当位图或图标小于静态控件时,静态控件将使用位图或图标左上角的点的颜色填充空白处。

                    SS_ENHMETAFILE,指定在静态控件中显示一个增强型图元文件。该风格将不会忽略静态控件的高度和宽度,而图元文件将调节自身的大小来适应静态控件的尺寸。

                    SS_ETCHEDFRAME,建立一个浮雕边框。

                    SS_ETCHEDHORZ,建立一个边框,并将顶端边框设置为浮雕风格。

                    SS_ETCHEDVERT,建立一个边框,并将左侧边框设置为浮雕风格。

                    SS_GRAYFRAME,建立一个灰色的边框。

                    SS_GRAYRECT,建立一个灰色的矩形。

                    SS_ICON,指定在静态控件中显示一个被定义在资源文件中的图标。该风格将忽略静态控件的高度和宽度,静态控件将根据位图的大小自动调节自身的尺寸。

                     SS_LEFT,使文字在静态控件中左对齐。

                     SS_LEFTNOWORDWRAP,在缺省情况下,静态控件把’\n’和’\t’都作为换行标记。只有在设置本风格后,静态控件才把’\t’看作是制表键(缺省时制表键的宽度为8个字符的宽度)。

                      SS_NOPREFIX,该标志表示终止对前缀字符的处理。通常,本成员函数将前缀助记符’&’解释为一个指令,即在’&’后面的字符下面划一下划线。并且将’&&’解释成一个单个的’&’指令。通过指令指定该标志,这种处理就不再进行了。

                      SS_OWNERDRAW,在指定该风格后,当静态控件在视觉外观发生变化时,该静态控件的属主窗口将响应WM
_DRAWITEM消息。

                      SS_RIGHT,使文字在静态控件中左对齐。

                      SS_SIMPLE,只显示一行文本,文本不能被剪切或替换(父窗口不能处理CTLCOLOR消息)。

                      SS_SUNKEN,设置一个下沉的静态控件,当静态控件为一个方框时,方框的四边下沉;当静态控件为一个矩形时,整个矩形下沉。

                       SS_USERITEM,建立一个用户自定义项目。

                       SS_WHITEFRAME,建立一个白色的边框。

                       SS_WHITERECT,建立一个白色的矩形。

 rect:指定静态控件的位置和大小。它可以是一个RECT结构类型的数据或一个CRect类的对象。

pParentWnd:指定CStatic类的对象的父窗口,通常是一个CDialog类的对象。它不能是NULL。

nID = 0xffff:指定静态控件的控件标识。

【注释】在使用静态控件显示文本而且没有设置SS_LEFTNOWORDWRAP风格时,’\n’和’\t’都忧患行的作用。两者的区别是在一行文本的长度大于静态控件的宽度时使用’\n’换行将使该行文本的下一行也为空行,但使用’\t’则无此现象。

Apply the following window styles to a static control:

  • WS_CHILD   Always

  • WS_VISIBLE   Usually

  • WS_DISABLED   Rarely

If you're going to display a bitmap, cursor, icon, or metafile in the static control, you'll need to apply one of the followingstatic styles:

  • SS_BITMAP   Use this style for bitmaps.

  • SS_ICON   Use this style for cursors and icons.

  • SS_ENHMETAFILE   Use this style for enhanced metafiles.

For cursors, bitmaps, or icons, you may also want to use the following style:

  • SS_CENTERIMAGE   Use to center the image in the static control.

(2)CStatic();
【注 释】构造一个空的CStatic类的对象。

(3)HBITMAP GetBitmap() const;
【返回值】返回一个当前位图的句柄,如果没有设置位图,则返回NULL。
【注释】此成员函数用来获取先前用成员函数SetBitmap设置的与CStatic类的对象关联的位图句柄。

(4)HCURSOR GetCursor();
【返回值】返回一个当前图标句柄。如果没有设置图标则返回NULL。
【注释】此成员函数用来获取先前用成员函数SetCursor设置的与CStatic类的对象关联的光标句柄。

(5)HENHMETAFILE GetEnhMetaFile() const;
【返回值】返回一个当前增强图元文件句柄。如果没有设置增强的图元文件则返回NULL
【注释】此成员函数用来获取先前用成员函数SetEnhMetaFile设置的与CStatic类的对象关联的增强的图元文件句柄。

(6)HICON GetIcon();
【返回值】返回一个当前图标句柄。如果没有设置增强的图标则返回NULL。
【注释】此成员函数用来获取先前用成员函数SetIcon设置的与CStatic对象关联关联的图标句柄。

(7)HBITMAP SetBitmap(HBITMAP hBitmap) const;
【返回值】返回先前与此静态控件关联的位图的句柄。如果没有与此静态控件关联的位
图,则返回NULL。
【参 数】
hBitmap:要绘制在此静态控件中的位图句柄。
【注释】此成员函数用来将一个新的位图与此静态控件关联。这个位图将被自动绘制在此静态控件中。缺省的,它将被绘制在左上角,并且此静态控件将根据位图的大小来调整尺寸。使用此成员函数必须设置风格SS_BITMAP。

(8)HCURSOR SetCursor(HCURSOR hCursor);
【返回值】返回先前与此静态控件关联的光标的句柄。如果没有与此静态控件关联的光
标,则返回NULL。
【参 数】
hCursor:要绘制在此静态控件中的光标句柄。
【注释】此成员函数用来将一个新的光标与此静态控件关联。这个光标将被自动绘制在此静态控件中。缺省的,它将被绘制在左上角,并且此静态控件将根据光标的大小来调整尺寸。使用此成员函数必须设置风格SS_ICON。

(9)HENHMETAFILE SetEnhMetaFile(HENHMETAFILE hMetaFile);
【返回值】返回先前与此静态控件关联的增强图元文件的句柄。如果没有与此静态控件
关联的增强图元文件,则返回NULL。
【参 数】
hMetaFile:要绘制在此静态控件中的增强图元文件句柄。
【注释】此成员函数用来将一个新的增强图元文件与此静态控件关联。这个增强图元文件将被自动绘制在此静态控件中。缺省的,它将被绘制在左上角,并且此静态控件将根据增强图元文件的大小来调整尺寸。使用此成员函数必须设置风格SS_ENHMETAFILE。

(10)HICON SetIcon(HICON hIcon);
【返回值】返回先前与此静态控件关联的图标的句柄。如果没有与此静态控件关联的图
标,则返回NULL。
【参 数】
hIcon:要绘制在此静态控件中的图标句柄。
【注释】此成员函数用来将一个新的图标与此静态控件关联。这个图标将被自动绘制在此静态控件中。缺省的,它将被绘制在左上角,并且此静态控件将根据图标的大小来调整尺寸。使用此成员函数必须设置风格SS_ICON。

转载出处:http://blog.sina.com.cn/s/blog_3fa68f2d01000bn3.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值