- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 在窗体上写字
从前面的例程中我们看到,要在视窗式的应用程序中显示文字可用静态文本、编辑框和弹出消息框等方法。另外的一种方法是直接在窗口面版上写字,用这种方法还可以自由设置字体、大小和颜色。在窗体上写字实际上是“画”字,需要先创建一个可以“画”的对象——CPaintDC对象。
本章要点
1 用CFont类和创建字体2 如何在窗体上写字?3 单选按钮组的用法4 利用列表框进行选择
?9.1 CFont类简介
要设置字体需要创建一个CFont类对象,然后利用它的CreateFont()函数来设置当前字体。CreateFont()有14个参数,下面我们用代码加注释的方法简要介绍,详情可查阅MSDN连机帮助文档,参看MFC库手册。
??????? CFont myFont; ??????????? //创建一个字体对象??????? myFont.CreateFont(?????????? 16, ????????????????? //1.字体高度。??????????? 0, ?????????????????? //2. =0 表示保持纵横比??????????? 0, 0, ??????????????? //3.4.角度??????????? 400, ???????????????? //5.线的宽度,400为正常 ???????????? FALSE, FALSE, 0, ???? //6.7.8.斜体,下划线,删除线(否)??????????? ANSI_CHARSET, ??????? //9.字符集??????????? OUT_DEFAULT_PRECIS, ????? //10.精度??????????? CLIP_DEFAULT_PRECIS, ???? //11.??????????? DEFAULT_QUALITY, ???????? //12.质量??????????? DEFAULT_PITCH|FF_SWISS, ? //13.强度和家族???????????? Arial ???????????????? //14.字体名称??????????? );
这14个参数中第一个和最后一个最重要。第一个表示字体高度,它决定了字符的大小,数值16表示字符举行的高为16个点,字体大小与你在本文中看到的差不多。而第二个参数=0 表示保持纵横比,这就字体的宽度了。最后一个字体名称用字符串表示,你的机器上有些什么字体好用,你打开记事本程序就可以查到。
9.2 MyFont.exe程序的界面和功能
本例程我们设计一个应用程序可以不同大小和颜色的字体来显示用户任意输入的字符串。
图chap09-01
? 当你在下面的编辑框中输入一行文字后,窗口内会同时显示两行文本。你可以用左边的单选按钮选择字体大小,文本大小会立即改变。你可以在左下角的列表框中选择文本的颜色,但要点击[设置]按钮后才生效。输入文字后的界面如图02。
图chap09-02
?9.3 设计MyFont程序的界面
?按照图1和参考下列属性表设计界面。
控件 标题 ID 其它属性 编辑框 - IDC_DATA_EDIT 按钮 设置 IDC_SET_BUTTON 按钮 EXIT ID_EXIT_BUTTON Styles:默认按钮 组框 Size IDC_STATIC 单选按钮组 8,16,24... IDC_SIZE_RADIO0IDC_SIZE_RADIO1 ... 列表框 - IDC_COLOR_LIST 选择方式=simple;Border选中 主对话框 MyFont IDD_MYFONT_DIALOG ?9.4 编写在窗体上写字的代码
?给编辑框引进CString类的变量m_DataEdit。为了在窗体上显示一行提示语,我们在OnPaint()函数中用默认字体来写字。
??????? CPaintDC dc(this); //参看:《深入编程内幕——Visual+C++》第41页??????? UpdateData(TRUE); //Allow draw onto the panal??????? dc.SetBkMode(TRANSPARENT);??????? dc.TextOut(100,10,请输入一行文本,Input a text please.);
语句1创建一个绘画的设备环境变量(对象)dc。语句2用TRUE允许更新。语句3设置北京模式为透明的。语句4用函数TextOut()输出文字,起始位置在坐标(100,0)处,窗口的左上角为坐标原点(0,0)。下面紧接着创建新字体并用编辑框的输入信息来画字,代码如下:
??????? dc.Text
您可能关注的文档
- 第七章 MyBatis学习 之三动态SQL语句.doc
- 第十一章 面向对象C++考试复习.doc
- 数据库系统工程师要领.docx
- 班组长、群监员职责与应知应会.doc
- 低温冷藏药品讲义概要.doc
- 第五章 PowerPoint 习题与答案.doc
- 企业目录解决方案final幻灯片.doc
- 互联网与应用考试要点[必看].doc
- 实体检测 施 工 方 案(完)解析.doc
- 第3章 文法及语言.doc
- 分析let s单元56ago2卷纸zheng unit56.pdf
- 塑胶材料其它分类原料pa9t 12.pdf
- md16x16数字媒体切换器设备.pdf
- 者参考项目发起人学科类型单位序列承包商修订页代码顺序典型.pdf
- 届世界天然气大会阿姆斯特丹2006add10288.pdf
- 期测试记录表每周weekly g1g6 journeys tests level 6 lesson26.pdf
- modernize-whitepaper现代化您应用程序白皮书.pdf
- anybackup产品典型案例分析.pdf
- 约克金融工程课程tfeslide32.pdf
- 广州市妇女儿童医疗中心历份教学药历01tjy.pdf
最近下载
- 华为云平台运维复习试题附答案.doc
- 2022-2023学年湖北省荆州市荆州区八年级(下)期末物理试卷(含解析).pdf VIP
- 十年(2013-2023年)高考生物真题分项汇编专题解析版合集共20套.doc
- 矫健:天局(胜天半子!).pdf
- (完整版)高中英语3500单词表含音标.pdf
- 150吨履带吊性能表(参考)1.doc VIP
- 湖北省荆州市荆州区2022-2023学年八年级下学期期末考试数学试卷(含答案).pdf VIP
- 人教版(新教材)高中英语选修2Unit4Journey Across a Vast Land精品学案:Writing—An email about a journey.docx
- 2012-2021十年高考生物真题(含解析)共92套.docx
- 2023年湖南师范大学附属小学教师招聘考试真题及答案.docx
文档评论(0)