静态文本设置类:CLabel
类原作者:NormSoft 示例程序作者: 龚建伟 ◆龚建伟技术主页◆
CLabel类可以改变 Static 静态文本颜色、背景,或将静态文本设置为超链接,一网友问我如何改变对话框文本颜色(不是全部改变),找到了这个类,自已做了一个示例程序(The original autor's expamle program is not suit for beginner),推荐给大家试试,有好作品别忘了给我寄一份。
首先下载类的源程序:下载(含我做的示例程序) (269提供链接)
好了,如果是初学VC的朋友,先跟着做示例程序吧,老鸟则自已去看程序吧。
1. 新建项目:在VC6中用MFC新建一个基于对话框的TestStaticLabel项目,并在对话框中加入控件如图所示,为每一个静态文本设置不同的ID。(在Static控件的Properties中.看看我怎么设置的,随心所欲,最好便于记忆,便于今后自己查阅,这是一个良好的编程习惯,此乃废话);
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控制变量)
4.静态文本设置方法 在对话框中OnInitDialog()函数中,添加代码:
//其中:以m_ctrl开头的为DDX CLabel控制变量
// TODO: Add extra initialization here
m_ctrlStaticXFS.SetFontName("Arial") //for 啸峰工作室
.SetFontSize(30)
.SetTextColor(RGB(255,255,0))
.SetFontUnderline(TRUE)
.SetBkColor(RGB(0,0,0))
.SetFontItalic(TRUE)
.SetFontBold(TRUE)
.SetBorder(TRUE)
.SetSunken(TRUE);
m_ctrlStaticWWW
.SetLink(TRUE)
.SetTextColor(RGB(0,0,255))
.SetFontUnderline(TRUE)
.SetFontSize(15)
.SetLinkCursor(AfxGetApp()->LoadCursor(IDC_CURSOR1));
m_ctrlStaticTellme
.SetFontName("System")
.SetBkColor(RGB(153,204,153))
.SetTextColor(RGB(255,0,102))
.SetFontSize(20)
.FlashBackground(TRUE)
.SetFontBold(TRUE);
m_ctrlStaticMail
.SetLink(TRUE)
.SetTextColor(RGB(0,0,255))
.SetFontUnderline(TRUE)
.SetFontSize(15)
.SetLinkCursor(AfxGetApp()->LoadCursor(IDC_CURSOR1));
m_ctrlStaticBorder
.SetBkColor(RGB(051,102,255))
.SetTextColor(RGB(255,255,255))
.SetFontSize(25)
.SetFontBold(TRUE)
.SetBorder(TRUE); //border
m_ctrlStaticSuken
.SetBkColor(RGB(102,051,255))
.SetTextColor(RGB(255,255,255))
.SetFontSize(25)
.SetFontBold(TRUE)
.SetBorder(TRUE)
.SetSunken(TRUE); //suken
大功告成,Build -> Run 吧,成了吗?
请点击图片进入◆龚建伟技术主页◆
串口通迅(编程源码)、串口调试助手、端口网络通信技术,VC/C编程,移动机器人控制相关技术,Matlab仿真及数据处理