//声明:
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);

  

【转】WinAPI: CreateFontIndirect - 根据字体结构建立逻辑字体的更多相关文章

  1. Delphi中建立指定大小字体和读取该字体点阵信息的函数(转)

    源:Delphi中建立指定大小字体和读取该字体点阵信息的函数 Delphi中建立指定大小字体和读取该字体点阵信息的函数 作者:Thermometer Email:  webmaster@daheng- ...

  2. [转]TrueType字体结构

    TrueType字体通常包含在单个TrueType字体文件中,其文件后缀为.TTF. OpenType字体是以类似于TrueType字体的格式编码的POSTSCRIPT字体.OPENTYPE字体使用. ...

  3. BGP:所有邻居都启动了BGP,则无须建立首尾逻辑邻居,否则就需要首尾建立逻辑邻居。

    配置说明:都通过loopback 口作为bgp 连接口,并且要配置ebgp多跳,同时配置loopback口的静态路由. 以AR2为例: 第一种场景:所有直接相连的邻居都启动了BGP,则路由可以随意扩散 ...

  4. Flutter实战视频-移动电商-09.首页_项目结构建立和获取数据

    09.首页_项目结构建立和获取数据 在config下创建service_url.dart 用来配置我们后端接口的配置文件 一个变量存 接口地址,一个接口方法地址 所有后天请求数据的方法都放在这个文件夹 ...

  5. GetFontResourceInfo 函数: 获取字体文件对应的字体名

    在 win 7, gdi32.dll,找不到 GetFontResourceInfo(), 但能找到 GetFontResourceInfoW(), 用法类似. //----------------- ...

  6. CSS在线字体库,外部字体的引用方法@font-face

    @font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕只能使用Web安全字体,你们当中或许有许 ...

  7. CSS在线字体库,外部字体的引用方法

    目录: 1:CSS家族五大字体 2:360和谷歌外部字体引用方法 3:谷歌外部字体引用方法详解 4:@font-face用法详解 一: {font-family:serif,sans-serif,fa ...

  8. [css] 浏览器字体和css设置字体之间的关系

    原文链接:http://www.zhangxinxu.com/wordpress/2010/06/%E5%8F%AF%E7%94%A8%E6%80%A7%E4%B9%8B%E6%B5%8F%E8%A7 ...

  9. Eclipse3.7默认字体修改-找回Courser-New字体

    1.找到jFace并用WinRAR打开之: jFace的具体位置:$Eclipse目录$/plugins/org.eclipse.jface_3.7.0.I20110522-1430.jar,找到后, ...

随机推荐

  1. E20180324-hm

    popover 弹出框 archive  v. 存档;  n. 档案文件; 档案室;

  2. Visual Studio 2015 个版本下载

    Visual Studio 2015是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具.代码管控工具.集成开发环境(IDE)等等.所写的目标代码适用于微软支持的所有 ...

  3. 使用方向变换(directional transform)图像分块压缩感知

    论文的思路是先介绍分块压缩感知BCS,然后介绍使用投影和硬阈值方法的迭代投影方法PL,接着将PL与维纳滤波器结合形成SPL(平滑PL),并且介绍了稀疏表示的几种基,提出了两种效果较好的稀疏基:CT与D ...

  4. [POI2007]旅游景点atr

    Description FGD想从成都去上海旅游.在旅途中他希望经过一些城市并在那里欣赏风景,品尝风味小吃或者做其他的有趣的事情.经过这些城市的顺序不是完全随意的,比如说FGD不希望在刚吃过一顿大餐之 ...

  5. 嵌套查询--------关联一对多关系----------collection

    参考来源:   http://www.cnblogs.com/LvLoveYuForever/p/6689577.html <resultMap id="BaseResultMap&q ...

  6. 在spring data jpa中使用自定义转换器之使用枚举转换

    转载请注明http://www.cnblogs.com/majianming/p/8553217.html 在项目中,经常会出现这样的情况,一个实体的字段名是枚举类型的 我们在把它存放到数据库中是需要 ...

  7. 移动端UI自动化Appium测试——Windows系统Appium环境配置

    1.安装JDK,官网下载即可,这里用的1.8,环境变量配置 2.安装Android sdk,API >= 17,环境变量配置 3.安装Nodejs,官网http://nodejs.org/dow ...

  8. AJPFX关于网络编程的理解

    1:网络编程(理解)        (1)网络编程:用Java语言实现计算机间数据的信息传递和资源共享        (2)网络编程模型        (3)网络编程的三要素              ...

  9. 【intellij idea】汇总

    1 右键无法创建,找不到scala class https://blog.csdn.net/u011513853/article/details/52896230 2 缩进 https://jingy ...

  10. Spring && 实验IOC

    一.Spring作用 1.生态体系庞大,全能型选手![springmvc是其一个子模块,jdbcTemplate能直接操作数据库!]    2.将其他组件粘合在一起    3.IOC容器和AOP[As ...