静态文本颜色背景改变示例源程序

 

 

静态文本设置类: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仿真及数据处理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本控件是背景色可渐变的静态文本框。 本程序为本人用PBNI原创。因本控件的完整版已用于本人的商业软件中,所以只提供学习版供学习之用,请勿用于商业目的,本人保留版权。当然会汇编的话,把学习版中的限制NOP掉也可以。 本学习版相对于商业版的限制是:文本只能显示两个宽字符(WideChar)。 本控件的开发环境是: WinXP,VC6的IDE开发环境,VS2003的头文件和库,GDI+,UNICODE版。 应用本控件的软件要求是: 1、操作系统支持GDI+(Windows98后都支持),或者有gdiplus.dll文件。 2、PB支持PBNI(PB9以上)。 本控件的函数说明: 调用函数后,要使函数效果显示出来,需将本控件或拥有控件的窗口setredraw(true)一下(多方努力,还没办法把这个缺陷解决)。 setbktext(int mode, int bands, int rs, int gs, int bs, int re, int ge, int be) 设置背景的渐变色。 mode: 背景色渐变方向,可用的值:0-水平方向渐变,1-垂直方向渐变 bands: 渐变色的区段数,可用的值:1-一段单边:即将整个背景划为一个区段。 2-二段双边对称:即将整个背景分为两个区段,两区段渐变色对称。 rs, gs, bs: 渐变色的起始颜色 re, ge, be: 渐变色的终止颜色 settext(string text) 设置文本框的文本,这个函数应该不用多说。 settextp(string asfont, int textcolorred, int textcolorgreen, int textcolorblue, int textsize, int bold, int halign, int valign) 设置文本字体。 以下参数中,如果字符参数置为"", 或整型参数置为0,则该参数取默认值,或者取控件的本个实例的上次设置值。 asfont: 字体,例:"楷体_GB2312" textcolorred, textcolorgreen, textcolorblue: 字体颜色 textsize: 字体大小 bold: 是否加粗字体,可能的值:1-不加粗,2-加粗 halign, valign: 文本的水平和垂直对齐方式:1-左对齐或顶部对齐,2-居中,3-右对齐或底部对齐 关于本控件的讨论贴: http://topic.csdn.net/u/20090805/13/cde146c0-3ea5-44c9-b35e-d6185f576eb1.html

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值