- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实现简单文字处理 本节主要通过一个具体的实例来介绍字体的使用方法。该实例所要实现的功能是一个简单的文字处理程序,用户由键盘敲入字符并显示在屏幕上,如果按的是退格键则删除一个字符,若按的是回车键则另起一行继续输入字符。简单来说,该实例的实现流程如图9-1所示。 加入WM_CHAR消息 在工程的CMyView类中加入WM_CHAR消息的处理函数OnChar。 在OnChar函数中,要根据用户在键盘中输入的字符的不同分别进行处理。如果是退格键,那么删除一个字符。如果是回车键,那么另起一行,到下一行继续输入字符。如果是其他的字符,那么将依次显示在窗口上。 处理退格键 退格键的处理较为复杂,其实现的是每按一次键应删除屏幕上的一个字。但是这样实现起来很难,所以此处换种方法,将字符串以屏幕背景色输出,将原来屏幕上的一行字覆盖。由于覆盖在上面的字符串颜色和屏幕的颜色相同,因此看起来整行字不见了。然后将字符串的最后一个字符删除,将原来设备描述表中的颜色取回来,再输出字符串,这样给人的感觉就好像是删掉一个字符。在Onchar函数中可输入如下代码实现对退格键的处理。 示例代码 else if(0x08==nChar) { COLORREF oldClr; //将文字颜色设置为背景色,并将原来颜色保留到oldClr中 oldClr=dc.SetTextColor(dc.GetBkColor()); //用背景色将字符串再输出一遍,相当于将字符串擦去 dc.TextOut(m_ptOrigin.x,m_ptOrigin.y,m_strInput); //将文字颜色设置为正常颜色 dc.SetTextColor(oldClr); //将字符串最后的一个字符去掉 m_strInput=m_strInput.Left(m_strInput.GetLength()-1); } 运行结果 在Visual C++ 6.0的集成开发环境下编译运行上述程序代码,其结果如图9-5所示。读者可在其中输入文本,文本为隶书,并且在输入过程中可使用【Enter】键往下跳一行,使用【Backspace】键删除一个字符。 执行流程 1-* 北京源智天下科技有限公司 联系方式: 联系方式: 北京源智天下科技有限公司 第九讲:文本与字体 杨章伟 e-mail:yang505412@163.com 课程内容安排 文本编程简介 使用GDI对象自定义字体 字体的使用 综合练习 思考和习题 文本编程简介 CString类是字符串操作的主要类,MFC中将对字符串的操作都封装在Cstring类中。由于它提供了丰富的操作字符串的成员函数,因此对于字符串操作,用Cstring类是很方便的。下面列出了几个最常用的成员函数。 void Empty( ):不带任何参数,该成员函数的作用是将某个字符串的内容清空。 CString Left( int nCount ):该成员函数的作用是取指定字符串的左面几个字符。参数nCount表示取字符的个数,执行该成员函数成功后,返回一个常量字符串。 CString Right( int nCount ):该成员函数的作用是取指定字符串的右面几个字符。参数nCount表示取字符的个数,执行该成员函数成功后,返回一个常量字符串。 void Format( LPCTSTR lpszFormat, ... )和void Format( UINT nFormatID, ... ):这两个成员函数的作用是得到一个格式化字符串 。 int GetLength( ):该成员函数的作用是取得字符串的长度。函数调用成功返回一个整型值。 使用GDI对象自定义字体 GDI自定义字体的类是CFont。 创建字体对象,在使用之前必须用函数CreateFont、CreateFontIndirect、CreatePointFont或CreatePointFontIndirect初始化,其用法如下所示。 CFont::CreateFont:创建具有指定属性的字体。 CFont::CreateFontIndirect:创建拥有LOGFONT结构所指定的属性的字体。 CFont::CreatePointFont:提供一种创建指定字体名和尺寸的字体的简单方法,自动将高度转换为pDC所指的设备描述表中所用的逻辑单位 自定义字体示例 例如,下面代码定义了字体。 CFont fn; fn.CreatePointFont(120,楷体); dc.SelectObject(fn); CreatePointFont是产生字体最简单的方法,它的第二个参数是字体的名字,具体系统中装了哪些字体,可以打开记事本,单击其中的【格式】|【字体】命令就可以查到了。
您可能关注的文档
- 第三章诗歌的表达技巧..ppt
- 第三章认识的深化与成篇.ppt
- 第三章自信是成功的基石.ppt
- 第三章财政赤字与国债.ppt
- 第三章财政支出34节.ppt
- 第三章:物权法.ppt
- 第三节3.3多媒体信息的加工与表达.ppt
- 第三章道路勘察设计.ppt
- 第三讲物理链路故障诊断与排除.ppt
- 第三讲:商务餐饮.ppt
- 2025年网络文学平台版权运营模式创新与版权保护体系构建.docx
- 数字藏品市场运营策略洞察:2025年市场风险与应对策略分析.docx
- 全球新能源汽车产业政策法规与市场前景白皮书.docx
- 工业互联网平台安全标准制定:安全防护与合规性监管策略.docx
- 剧本杀剧本创作审核标准2025年优化与行业自律.docx
- 2025年新能源电动巡逻车在城市安防中的应用对城市环境的影响分析.docx
- 全渠道零售案例精选:2025年行业创新实践报告.docx
- 2025年网约车司乘纠纷处理机制优化与行业可持续发展报告.docx
- 2025年宠物烘焙食品市场法规政策解读:合规经营与风险规避.docx
- 2025年宠物行业数据安全监管政策影响分析报告.docx
文档评论(0)