CLabel函数说明

原作者地址及最新更新:

   http://www.codeproject.com/Articles/215/Extended-Use-of-CStatic-Class-CLabel-1-6

CLabel函数说明_第1张图片


本控件可以实现类似VB中LABEL控件的功能。可能正是许多人寻找已久的.本版本已具备了LABEL控件所有的函数.并且在此基础上支持了许多额外的功能.本控件运用双缓存技术,可以使绘制更快。功能主要在OnPaint函数中执行。

原作者为这款控件取名为CLABLE,并且编制了如下简要介绍.遵照下法,即可很简便的使用本控件.

1. 新建项目:在VC6中用MFC新建一个基于对话框的TestStaticLabel项目,并在对话框中加入控件如图所示,为每一个静态文本设置不同的ID。

2.在项目中插入类文件:把所有label.cpp和label.h文件copy 到项目文件夹下,Project->Add to Project->Files中选上label.cpp和label.h文件, OK; 怎么样,在ClassView中看到了CLabel类吧。 打开ClassWizard若看不到CLabel类,可关闭ClassWizard(不用关闭VC),在项目文件夹下把TestSaticLabel.clw文件删除,再打开ClassWizard,会看到提示:"The classwizard database doesn't exist,.....,would you like to build it from your source files?",选Yes,出现一个对话框,单击 Add All,再单击OK,好了,在ClassWizard中可以看到CLabel类了。

3.为每个要改变设置的static静态文本增加ddx控制变量:在对话框头文件TestSaticLabelDlg.h中加入 #include "label.h";打开ClassWizard,选Member Variables页,选上相应的静态文本ID,单击Add Viriable,在对话框中Category中选control,variable Type选clabel,Variable Name由你自己定吧。(把要改变的ID都加上DDX控制变量)

Clabel支持的API函数说明

CLabel& SetBkColor(COLORREF crBkgnd, 
COLORREF crBkgndHigh = 0
BackFillMode mode = Normal);
设置控件的背景,附加其他填充效果。
CLabel& SetText(const CString& strText) 设置控件的文本 内容.
CLabel& SetTextColor(COLORREF crText) 设置控件的文本 颜色.
CLabel& SetFontBold(BOOL bBold) 修改控件中的文本样式为 粗体.
CLabel& SetFontName(const CString& strFont) 修改控件字体.
CLabel& SetFontUnderline(BOOL bSet) 为控件字体设置 下划线
CLabel& SetFontItalic(BOOL bSet) 为控件设置 Italic 字体
CLabel& SetFontSize(int nSize) 设置控件的字体大小
CLabel& SetSunken(BOOL bSet) 设置控件的 凹陷 效果
CLabel& SetBorder(BOOL bSet) 设置控件的边框
CLabel& FlashText(BOOL bSet) 设置控件 文字的闪烁效果
CLabel& FlashBackground(BOOL bSet) 设置控件背景的闪烁效果
CLabel& SetLink(BOOL bLink) 设置控件的超级链接.可以链接网址
CLabel& SetLinkCursor(HCURSOR hCursor) 设置链接的光标
CLabel& SetTransparency(BOOL bTransparency) 设置控件背景的透明效果
CLabel& SetFont3D(BOOL bSet,Type3D type) 设置3D字体
CLabel& SetRotationAngle(UINT nAngle,BOOL bRotation) 为字体设置旋转角度
CLabel& SetText3DHiliteColor(COLORREF cr3DHiliteColor) 为3D文本设置高亮颜色效果
CLabel& SetMailLink(BOOL bEnable, BOOL bNotifyParent) 为文本设置高亮颜色效果

使用例子:

 m_fname.SetFontName("System");
 m_fsize.SetFontSize(14);
 m_uline.SetFontUnderline(TRUE);
 m_tcolor.SetTextColor(RGB(255,0,0));
 m_bcolor.SetBkColor(RGB(0,255,255));
 m_italics.SetFontItalic(TRUE);
 m_bold.SetFontBold(TRUE);
 m_border.SetBorder(TRUE);
 m_sunken.SetSunken(TRUE);
 m_lblGradient.SetBkColor(RGB(255,255,255),RGB(0,0,255), CLabel::Gradient);

 m_monty.SetFontName("Arial");
 m_monty.SetFontSize(12);
 m_monty.SetTextColor(RGB(255,255,0));
 m_monty.SetFontUnderline(TRUE);
 m_monty.SetBkColor(RGB(0,0,0));
 m_monty.SetFontItalic(TRUE);
 m_monty.SetFontBold(TRUE);
 m_monty.SetBorder(TRUE);
 m_monty.SetSunken(TRUE);



你可能感兴趣的:(界面)