All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
PHP关于代码转换问题比较完善的解决办法_php资料_编程技术
asp.net,2.0中使用OWC组件学习小结_[Asp.Net教程]
PHP数组的定义、初始化和数组元素的显示_php资料_编程技术
c#中邮件收发处理(POP3,IMAP,SMTP)_[Asp.Net教程]
visual c++中常用MFC文件及库文件
PHP5.2+APACHE2.2+BugFree1.0的安装_[PHP教程]
WEB 2.0中AJAX应用的详细探讨_[AJAX教程]
Sys.ScriptLoader与JS加载进度条的实现_.net资料_编程技术
visual c++中的函数模板
一个无刷新效果定时自动更新页面的例子_.net资料_编程技术
Reading number is top 10 pictures
好身材能把衣服穿出3D效果
你的钱干净吗?
乳娘帕梅拉安德森2
A man's favorite things11
A man's favorite things5
Summer is most suitable for young people to travel in China6
The money of more than 100 countries and regions18
Angie Chiu vijara myth2
Sora aoi in China2
红楼梦金陵十二钗(1)
Download software ranking
Unix video tutorial18
Popkart Cracked versions Mobile phone games
Boxer Classic video2
Eclipse 4.2.1 For Win32
DreamWeaver8
Unix video tutorial9
卡丁车单机版
Tram sex maniac 2 (H) rar bag14
电脑知识及技巧大合集
Call Of Duty2
qq published in(发表于) 2014/7/9 22:40:53 Edit(编辑)
visual c++中静态文本控件(Static Text)

visual c++中静态文本控件(Static Text)

visual c++中静态文本控件(Static Text)

静态文本控件(Static Text)

1.概述

静态控件是用来显示一个文本串控件的。默认情况下,所有静态文本控件的ID都为IDC_STATIC,如果需要为静态文本控件添加消息处理函数,需要重新指定一个惟一的ID值。

编程时用得最多的就是静态文本控件,每一个静态控件都可以显示255个字符,如果有需要,读者也可以使用换行符“n”。

2.扩展的静态文本控件类

静态文本框足可以应付大多数应用程序开发的需要,但对于某些特殊的需要,就显得无能为力了。笔者对CStatic的原有功能进行扩展,新静态文本控件类支持透明、设置字体颜色等实用功能。

分析:

这两个问题可以利用OnPaint()函数来解决,OnPaint是WM_PAINT的消息响应函数,通过重载这个消息响应函数可以重新绘制静态文本。

类原型如下:

class CExpandStatic : public CStatic

{

public:

CExpandStatic();

void Transparence(bool bTran); //设置是否透明

void SetFontColor(COLORREF Color); //设置字体颜色

virtual ~CExpandStatic();

private:

bool m_Transparence; //记录是否透明的变量

COLORREF m_Color; //记录颜色的变量

};

Transparence函数和SetFontColor函数实际只是设置两个私有成员m_Transparence和m_Color的值,它们的实现如下:

void CExpandStatic::SetFontColor(COLORREF Color)

{

m_Color=Color;

}

void CExpandStatic::Transparence(bool bTran)

{

m_Transparence=Transparence;

}

为了达到背景透明及设置颜色的目的,必须重载消息响应函数OnPaint():

void CExpandStatic::OnPaint()

{

CPaintDC dc(this);

//设置字体

CFont* pfont;

pfont=this->GetFont();

dc.SelectObject(pfont);

dc.SetTextColor(m_Color); //设置字体颜色

if(m_Transparence==true)

dc.SetBkMode(TRANSPARENT); //背景透明

else

dc.SetBkMode(OPAQUE);

//重新绘制显示的文字

CRect StaticRect;

this->GetClientRect(&StaticRect);

CString sCaption;

this->GetWindowText(sCaption);

dc.DrawText(sCaption,&StaticRect,DT_LEFT|DT_WORDBREAK);

}

运行效果如图1所示。



图1 CExpandStatic类的应用




添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.