在MFC中使用自定义字体来进行文本输出
来源:互联网 发布:php模拟http 编辑:程序博客网 时间:2024/06/05 20:47
在MFC的CFOnt类封装了Windows GDI字体, 通过与CDC中有关的文本输出的函数结合使用,可以设置输出的文本的各种属性。
首先给出本次程序的demo
在单文档程序中,需要在OnDraw函数中创建字体,该字体输出文本,并获取到字体的属性。具体实现代码如下:
void CMFCApplication13View::OnDraw(CDC* pDC)
{
CMFCApplication13Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
CFont myfont, *oldFont;
LOGFONT font;
memset(&font, 0, sizeof(LOGFONT));
font.lfHeight = 50;
font.lfWidth = 60;
font.lfItalic = TRUE;
font.lfUnderline = TRUE;
StrCpyW(font.lfFaceName, _T("Times New Roman"));
myfont.CreateFontIndirectW(&font);
oldFont = pDC->SelectObject(&myfont);
pDC->SetTextColor(RGB(100, 10, 210));
pDC->SetBkMode(TRANSPARENT);
pDC->TextOutW(10, 20, _T("使用cfont自体"));
TEXTMETRIC tm;
pDC->GetTextMetrics(&tm);
CString str1, str2, str3;
str1.Format(_T("字体高度为: %d个像素"), tm.tmHeight);
str2.Format(_T("字体的平均宽度为: %d个像素"), tm.tmAveCharWidth);
pDC->SelectObject(oldFont);
pDC->SetTextColor(RGB(0, 0, 128));
pDC->TextOutW(10, 100, str1);
pDC->TextOutW(10, 120, str2);
// TODO: 在此处为本机数据添加绘制代码
}
使用要点:
在使用CFOnt对象的时候,在其新对象使用前,原则上要保存其原对象,待新对象使用完毕,要将其恢复。
TEXTMETRIC是用来保存字体相关的信息,如字体的高度,宽度,浓度等。可才用CDC类提供的GetTextMetrics()函数来获取字体的相关信息。
编程其实并不难,只要我们日积月累,肯定能够成功的.
- 在MFC中使用自定义字体来进行文本输出
- 使用DataBinding来进行字体的自定义
- MFC中使用控制台进行数据输出
- MFC 中自定义输出字体CFont和获得系统当前默认字体CFont
- 在iphone中使用自定义字体
- 在ANDROID中使用自定义字体
- 在iphone中使用自定义字体
- 在iPhone应用中使用自定义字体
- 在iPhone应用中使用自定义字体
- 在iPhone应用中使用自定义字体
- 在iPhone应用中使用自定义字体
- 如何在iPhone中使用自定义字体
- 如何在工程中使用自定义字体
- 在iOS开发中使用自定义字体
- 在Kivy中使用自定义的字体
- 在iOS开发中使用自定义字体
- 在iOS开发中使用自定义字体
- 在Android中使用自定义字体
- 31 basic questions of Hadoop
- 大数据系列教程_storm 集群安装
- 音频编码之opus(二)
- 两个有序数组的中位数 【算法】
- Maven最佳实践:Maven仓库
- 在MFC中使用自定义字体来进行文本输出
- UITableViewCell的prepareForReuse方法
- DDR布线要求及拓扑结构分析
- C语言中的结构体数组
- 正则表达式基本知识
- 简单介绍:Java web保存日志与Android保存日志文件
- Linux之Makefile(ifdef)
- linux mysql 安装
- 多线程之Java线程阻塞与唤醒