【转】WinAPI: CreateFontIndirect - 根据字体结构建立逻辑字体
2024-08-28 22:56:14
//声明:
CreateFontIndirect(
const p1: TLogFont {字体结构}
): HFONT; {返回新字体指针} //TLogFont 是 tagLOGFONTA 结构的重定义:
tagLOGFONTA = packed record
lfHeight: Longint; {字体高度}
lfWidth: Longint; {字体平均宽度}
lfEscapement: Longint; {角度, 单位是 1/10 度}
lfOrientation: Longint; {基线角度}
lfWeight: Longint; {粗体, 取值: 0-1000}
lfItalic: Byte; {斜体}
lfUnderline: Byte; {下划线}
lfStrikeOut: Byte; {删除线}
lfCharSet: Byte; {字符集}
lfOutPrecision: Byte; {输出精度}
lfClipPrecision: Byte; {剪裁精度}
lfQuality: Byte; {输出质量}
lfPitchAndFamily: Byte; {间距及字族}
lfFaceName: array[0..LF_FACESIZE - 1] of AnsiChar; {字样名称}
end;
以上是要用到的一个数据结构,unit windows.
使用方法详细:
{定义字体特征}
FontInfo.lfHeight := ; {赋值 0, 系统自动给一个值}
FontInfo.lfWidth := ; {赋值 0, 系统自动给一个值}
FontInfo.lfEscapement := ; {无角度}
FontInfo.lfWeight := ; {中等加粗}
FontInfo.lfItalic := ; {非斜体}
FontInfo.lfUnderline := ; {无下划线}
FontInfo.lfStrikeOut := ; {无删除线}
FontInfo.lfFaceName := '宋体'; FH1 := CreateFontIndirect(FontInfo);
FH2 := SelectObject(Canvas.Handle, FH1);
{用 CreateFontIndirect 建立逻辑字体; 用 SelectObject 选人设备; 并返回字体句柄} TextOut(Canvas.Handle, X, Y, str, Length(str)); DeleteObject(FH1);
DeleteObject(FH2);
详细:万一的博客
想要循环的文字:改变属性Escapement,循环输出
注意点:
FH1 := CreateFontIndirect(FontInfo);
FH2 := SelectObject(Canvas.Handle, FH1);
这两个用完以后要及时删除!!
DeleteObject(FH1);
DeleteObject(FH2);
最新文章
- log4j总结
- [ javascript css clip ] javascript css clip 的奇思妙想之文字拼接效果
- JavaScript toFixed()使用的注意事项
- 开源入侵检测系统OSSEC搭建之三:Web界面安装
- SQL游标+递归查询客户子客户转换率
- Endnote从头开始五:修改output style(转载)
- .Net常用方法汇总
- OC语言的特性(二)-Block
- 省市区三级联动(jquery+ajax)(封装和不封装两种方式)-----2017-05-15
- USB基础知识
- NYOJ116 士兵杀敌(二)
- Linux如何设置dns
- URL加载页面的过程
- burp的dns记录功能
- Get teststep of specific type
- jmeter每10个停一会实现方案
- [01] MyBatis概述
- VS动态修改App.config中遇到的坑(宿主进程问题)
- 【转】Java学习---垃圾回收算法与 JVM 垃圾回收器综述
- isScroll的滚动组件的用法
热门文章
- RelativeLayout和layout_weight的异曲同工之妙(转载)
- Linux 常用命令十五 用户和组操作命令
- CodeForces E. Goods transportation【最大流+dp最小割】
- SELinux的启动和关闭
- 压力测试之jmeter使用
- java 学习书籍
- NDK(10)Android.mk各属性简介,Android.mk 常用模板--未完
- Matrix Transformation codechef 数学题
- URAL1389. Roadworks(dp)
- Jmeter+Jenkins+Ant自动化集成环境搭建