采用不同的方法创建字体
2014-02-17 09:31
316 查看
http://blog.csdn.net/wubind/article/details/1968042
采用不同的方法创建字体
2007-12-15 10:08
采用不同的方法创建字体
2007-12-15 10:08
[例3.8]编写一个单文档的应用程序Li3_8,采用不同的方法创建字体,并根据创建的字体输出不同的文本。 (1) 使用MFCAppWizard创建一个单文档应用程序Li3_8. (2) 选择项目工作区的ClassView,展开Cli3_8View类,打开成员函数OnDraw(). (3) 在函数OnDraw()中添加如下代码。 void CLi3_8View::OnDraw(CDC* pDC) { CLi3_8Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here CString outstr[5]; outstr[1]="1.使用函数CreatPointFont()创建字体字"; outstr[2]="2.使用函数CreatFontIndirect()创建倾斜、带下划线的黑体字"; outstr[3]="3.使用函数CreateFont()创建带删除线的大号字"; outstr[4]="4.使用库存字体对象创建ANSI标准的等宽字"; CFont *OldFont,NewFont; LOGFONT MyFont={ 30, 10, 0, 0, 0, 1, 1, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH, "黑体" }; pDC->TextOut(0,10,"创建字体的几种方法:"); for(int i=1;i<5;i++){ switch(i){ case 1: //使用函数CreatPointFont()创建字体 NewFont.CreatePointFont(200,"宋体",NULL); break; case 2: //使用函数CreateFontIndirect()创建字体 NewFont.CreateFontIndirect(&MyFont); break; case 3: //使用函数CreateFont()创建字体 NewFont.CreateFont(30,10,0,0,FW_HEAVY,false,false, true,ANSI_CHARSET,OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY, DEFAULT_PITCH|FF_DONTCARE,"大号字"); break; case 4: //使用库存字体对象创建字体 pDC->SelectStockObject(ANSI_FIXED_FONT); break; } OldFont=pDC->SelectObject(&NewFont); pDC->TextOut(0,60*i,outstr[i]); pDC->SelectObject(OldFont); NewFont.DeleteObject(); } } (4) 编译、链接并运行程序,结果如图3.9所示。 图3.9创建字体的不同方法 例程总结: 经过例程的学习研究,我掌握了四种方法来创建四种不同的字体的方法: 1.使用函数CreatePointFont()创建宋体字 2.使用函数CreateFontIndirect()创建倾斜、带下划线的黑体字 3.使用函数CreateFont()创建带删除线的大号字 4.使用库存字体对象创建ANSI标准的等宽字 我已经掌握了使用CFont创建新字体对象和旧字体对象指针的方法,我已经能够使用LOGFONT来创建一个结构体变量,并将它传送给函数CreateFontIndirect()来创建一个新字体,并了解各个变量的意义,我懂得了使用文档指针来调用它的成员函数来输出新字体,使用完新字体之后,恢复旧字体,并删除旧字体。 |
相关文章推荐
- VC中采用不同的方法创建字体
- TextOut 使用创建字体的方法不同造成不同的显示结果
- mysql及创建不同端口实例(方法一)
- 四种不同的方法创建java对象
- GDI+创建字体的方法
- JS创建对象几种不同方法详解
- 不同进程共享链表方法:用共享内存创建链表
- [转]使用Javascript动态创建表格,不同的方法,巨大的运行时间差异!
- AndroidStudio中图片存放位置及drawable不同分辨率文件夹的创建方法
- Spring 创建对象的问题,不同构造方法创建对象,使用工厂类类获取对象、单例或多例、延迟创建问题
- iOS中Label实现显示不同颜色与字体的方法
- MFC中button控件背景色和字体的设置,或者可以采用添加背景图片的方法;已验证有效MFC其他的简单使用使用
- 采用不同的方法实现回文数的判断
- mysql及创建不同端口实例(方法二)
- C/C++实现控制台输出不同颜色字体的方法
- JS创建对象几种不同方法详解
- 通过创建方法,减少不同浏览器通过JS设置样式时的重复书写
- 多线程采用不同的方法操作一个资源的例子
- python在不同层级目录import模块的方法 作者:运维之路 字体:[增加 减小] 类型:转载 时间:2016-01-31 我要评论 这篇文章主要介绍了python 在不同层级目录import
- JS创建对象几种不同方法详解