如何继承CStatic类使界面文本显示不再单调
来源:互联网 发布:职业蛙 知乎 编辑:程序博客网 时间:2024/05/17 09:26
1.建立VC工程,在工程中基于基类CStaitc,派生出自己的CStaitcEx类,加该类到你的工程中,当然你使用类生成向导,文件自然会加入到你的工程中。一般来说生成的文件为StaticEx.cpp和StaticEx.h。
2.编写CStaticEx类
在StaticEx类中加入逻辑字体变量、颜色变量、字符串变量:
LOGFONT m_LogFont;
COLORREF m_TextColor;
CString m_WindowsText;
然后增加函数(public属性)
void SetTextSize(int size = 15)//参数为逻辑字体大小
{
}
void SetTextFont(CString FontName)//参数为逻辑字体名
void SetTextFont(CString FontName)//参数为逻辑字体名
{
}
void SetTextWeight(int weight) // 参数为逻辑字体粗细 (value from 0 to 1000 and step is 100)
{
m_LogFont.lfWeight = weight;
}
{
m_LogFont.lfWeight = weight;
}
void SetTextColor(COLORREF crColor)
{
}
增加CStaticEx类的WM_PAINT消息映射(可以用Classwizard),然后在OnPaint里添加代码
CRect nRect;
另外,构造函数中加入下列初始化代码 (这段代码在实际使用中发现,不用加,加了反而影响字体设置)
CStaticEx::CStaticEx()
{
}
完成上述代码,我们就可以在工程中使用该类实现任意大小、颜色和字体的文本显示了。
3.使用你的CStaticEx类
CStaticEx m_StaticEx;建议添在如下处,因为添加后在类向导的变量映射表中可以显示出来。
// Dialog Data
//{{AFX_DATA(CVoiceBasic)
enum { IDD = IDD_DLG};
CStaticEx m_StaticEx;
//}}AFX_DATA
然后重要的一步就是在数据交换中增加你的类和控件之间的关联(假如你Static控件的名称是IDC_MYSTATIC):
void CDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CVoiceBasic)
DDX_Control(pDX, IDC_MYSTATIC, m_StaticEx);
//}}AFX_DATA_MAP
}
{
}
最后一步了,在你的工程界面初始化的时候调用你刚才CStaticEx中自己定义的函数,你就会发现你的静态文本由你来控制了,当然依次类推,逻辑字体LONGFONT中所能体现的字体风格你都是可以实现的。
m_StaticEx.SetTextColor(RGB(100, 0, 0));
m_StaticEx.SetTextSize(25);
m_StaticEx.SetTextWeight(700);
m_StaticEx.SetTextFont("隶书");
4.总结
0 0
- 如何继承CStatic类使界面文本显示不再单调
- 第十三讲 文本,背景,边框不再单调
- 继承CStatic 平面坐标形式显示数据序列
- VS2012 使用CStatic类显示图片
- 如何在CStatic控件的指定位置显示提示信息
- 让CStatic继承类响应键盘方向键消息
- VS20013 多重继承类,重载CStatic的OnPaint崩溃
- CStatic类
- CStatic类
- CStatic显示bmp文件
- 【动态】CStatic显示图片
- 采用静态文本控件(CStatic)作为的波形曲线控件的显示载体
- 如何使Eclipse显示出文本行号
- 如何显示旋转文本
- OpenGL如何显示文本
- Android应用--首次使用的欢迎界面,之后不再显示
- EAS序时簿界面显示,不再忽略数值零
- fedora18 startx如何显示中文界面及文本模式和窗口模式切换
- android adb
- 关于寄存器ESP和EBP的一些理解
- 详解SSJ(Spring3.x mvc + Spring3.x Core + JPA2.x)轻量级集成开发—第5章 剖析Spring3.x AOP特性01
- C# play with json in dynamic
- Linux下使用GDB调试应用程序示例
- 如何继承CStatic类使界面文本显示不再单调
- python中的__slot__
- 两线式键盘(AD按键)电路的设计与实现
- 第四阶段:互相交流
- 技术男的围城?外面的人想进来,而我想出去!
- 在vs 2012配置Qt
- ABAP ALV中的TOP_OF_PAGE添加任意图标
- android 软键盘
- sql server查询一个表的外键引用情况(联合外键)