当前位置: 首页 > article >正文

(28)CreateFont函数

文字的出现历史可以追溯到甲骨文的使用,直到今天使用的宋体文字。在软件开发里,经常遇到是跨国语言的使用,由于世界在变平,全球在变小,交通运输非常发达,由我所在的深圳,向东坐飞机 12 个小时就可以到达伦敦,向西坐飞机 12 小时就可以到达美国,可算得上朝发夕至。比如像炒外汇的人,一天可以不用睡觉都在工作着,比如早上炒东京的汇市,下午就可以炒伦敦的,晚上就可以炒纽约的了。软件的开发,也在全球化,比如昨晚在美国开发,早上就可以变成中国开发同样的软件了,一天 24 小时开发,这样加速软件的开发。全球的市场已经变得同步化了,开发的软件可以适应任何有人类的地方。经常开发的软件,就需要有中英双语化。这样就需要使用到不同的字体,才能适应国际化的需要,下面就来学习怎么样创建字体,并且使用它。
函数 CreateFont 声明如下:
WINGDIAPI HFONT   WINAPI CreateFontA( __in int cHeight, __in int cWidth, __in int cEscapement, __in int cOrientation, __in int cWeight, __in DWORD bItalic,
                             __in DWORD bUnderline, __in DWORD bStrikeOut, __in DWORD iCharSet, __in DWORD iOutPrecision, __in DWORD iClipPrecision,
                             __in DWORD iQuality, __in DWORD iPitchAndFamily, __in_opt LPCSTR pszFaceName);
WINGDIAPI HFONT   WINAPI CreateFontW( __in int cHeight, __in int cWidth, __in int cEscapement, __in int cOrientation, __in int cWeight, __in DWORD bItalic,
                             __in DWORD bUnderline, __in DWORD bStrikeOut, __in DWORD iCharSet, __in DWORD iOutPrecision, __in DWORD iClipPrecision,
                             __in DWORD iQuality, __in DWORD iPitchAndFamily, __in_opt LPCWSTR pszFaceName);
#ifdef UNICODE
#define CreateFont CreateFontW
#else
#define CreateFont CreateFontA
#endif // !UNICODE
cHeight 是字体的高度。
cWidth 是字体的宽度。
cEscapement 是字体的倾斜角。
cOrientation 是字体的倾斜角。
cWeight 是字体的粗细。
bItalic 是字体是否斜体。
bUnderline 是字体是否有下划线。
bStrikeOut 是字体是否有删除线。
iCharSet 是字体使用的字符集。
iOutPrecision 是指定如何选择合适的字体。
iClipPrecision 是用来确定裁剪的精度。
iQuality 是怎么样跟选择的字体相符合。
iPitchAndFamily 是间距标志和属性标志。
pszFaceName 是字体的名称。
调用这个函数的例子如下:
#001 // 创建字体 .
#002 //
#003 // 蔡军生  2007/09/03 QQ:9073204 深圳
#004 //
#005 HFONT CCaiWinMsg::GetFont(void)
#006 {
#007  LOGFONT lf; // 字符的结构  
#008 
#009  // 获取当前系统的字体 .
#010  GetObject(GetStockObject(SYSTEM_FONT), sizeof(LOGFONT),
#011         &lf);
#012 
#013  // 设置字体的属性 .
#014  lf.lfWeight = FW_BOLD;
#015  lf.lfItalic = true;          
#016  lf.lfHeight = 26;
#017 
#018  // 设置为宋体 .
#019  wsprintf(lf.lfFaceName,_T("%s"),_T(" 宋体 "));
#020 
#021  // 创建字体并返回
#022  return CreateFont(lf.lfHeight, lf.lfWidth,
#023         lf.lfEscapement, lf.lfOrientation, lf.lfWeight,
#024         lf.lfItalic, lf.lfUnderline, lf.lfStrikeOut, lf.lfCharSet,
#025         lf.lfOutPrecision, lf.lfClipPrecision, lf.lfQuality,
#026         lf.lfPitchAndFamily, lf.lfFaceName);
#027 
#028 }
http://www.lryc.cn/news/2416419.html

相关文章:

  • C# CultureInfo 类之各国语言所对应的的区域性名称
  • JDBC元数据操作(一)-- DatabaseMetaData接口详解
  • 小菜和大鸟的编程故事之三:代码规范和重构意识
  • 数据库系统原理与应用教程(029)—— MySQL 的数据完整性(二):定义主键(primary key)
  • VMware虚拟机安装Ubuntu14.04.5-server详细图文教程
  • JS window对象 返回前一个浏览的页面 back()方法,加载 history 列表中的前一个 URL。 语法: window.history.back();
  • HDTUNE工具下载
  • python 爬取google总结
  • [PaddleGAN]人脸表情迁移-视频换脸
  • Android逆向之旅---破解一款永久免费网络访问工具
  • 关于同步电机的Ldq测量
  • 域名系统(Domain Name System,DNS)
  • 安奈特智能技术-半导体制造行业RFID解决方案
  • folsom版本horizon架构剖析
  • 分享35款最新出炉的免费个人博客模板
  • java中的强引用(Strong reference),软引用(SoftReference),弱引用(WeakReference),虚引用(PhantomReference)
  • session.setAttribute和request.setAttribute的区别
  • 白盒模型和黑盒模型
  • RT-Thread : IEEE1588/PTP 协议的实现
  • 二、Linux开发中常用到的命令
  • C#学习教程14——进程与线程
  • centos7无界面系统物理机安装教程超详细完整教程图解
  • 100款绿色重量级软件
  • 正则表达式匹配和替换
  • Turbo C安装与配置
  • STIL和WGL的例子文件
  • 清华紫光输入法linux,清华紫光拼音输入法
  • Pycharm、Vscode设置美女背景【内附20张高清图片】
  • Android开发知识(十)快速接入高德地图SDK(地图+定位+标记+路线规划+搜索)
  • java 调用webservice的各种方法总结