函数GetTextMetrics可以获取一个字体文本度量并将它放入一个类型为TEXTMETRIC的数据结构中,该结构如下所示:
typedef struct tagTEXTMETRIC { // tm
LONG tmHeight; //字符高度
LONG tmAscent; //字符上部高度(基线以上)
LONG tmDescent; //字符下部高度(基线以下)
LONG tmInternalLeading; //由tmHeight定义的字符高度的顶部空间数目
LONG tmExternalLeading; //加在两行之间的空间数目
LONG tmAveCharWidth; //平均字符宽度
LONG tmMaxCharWidth; //最宽字符的宽度
LONG tmWeight; //字体的粗细轻重程度
LONG tmOverhang; //加入某些拼接字体上的附加高度
LONG tmDigitizedAspectX; //字体设计所针对的设备水平方向
LONG tmDigitizedAspectY; //字体设计所针对的设备垂直方向
BCHAR tmFirstChar; //为字体定义的第一个字符
BCHAR tmLastChar; //为字体定义的最后一个字符
BCHAR tmDefaultChar; //字体中所没有字符的替代字符
BCHAR tmBreakChar; //用于拆字的字符
BYTE tmItalic; //字体为斜体时非零
BYTE tmUnderlined; //字体为下划线时非零
BYTE tmStruckOut; //字体被删去时非零
BYTE tmPitchAndFamily; //字体间距(低4位)和族(高4位)
BYTE tmCharSet; //字体的字符集
} TEXTMETRIC;
分享到:
相关推荐
在这个话题中,我们将探讨`TEXTMETRIC`结构,它是Windows API提供的一种用于获取字体信息的工具。 `TEXTMETRIC`结构在Windows API中被广泛使用,它包含了关于特定字体的各种度量信息。这个结构提供了关于字体高度、...
TEXTMETRIC 结构是Windows中的一种数据结构,用于存储字体信息,例如字体名称、字体大小、字体样式等。开发者可以通过TEXTMETRIC 结构来控制字体的显示。 31. GetTextMetrics GetTextMetrics是Windows中用于获取...
在这个例子中,我们首先获取窗口的设备上下文`hdc`,然后调用`获取文本度量(hdc, @textMetric, sizeof(TEXTMETRIC))`来获取字体的度量信息,并将结果存储在`textMetric`结构体中。之后,我们就可以从`textMetric`中...
- **字体大小**:通过`TEXTMETRIC`结构和`GetTextMetrics()`函数来获取当前字体的尺寸信息。 - `tmHeight`: 字符高度。 - `tmAscent`: 字符上升高度。 - `tmDescent`: 字符下降高度。 - `tmAveCharWidth`: 平均...
1. 创建自定义`TEXTMETRIC`结构:这将用于存储字体信息。 2. 使用`CreateFontIndirect`函数创建自定义字体,设置所需的字体大小、颜色、粗细等属性。 3. 在`NM_CUSTOMDRAW`通知的`CDDS_ITEMPREPAINT`阶段,使用`...
要实现文字居中,我们需要在OnSize消息中调整Edit控件的TEXTMETRIC结构,获取字体的相关信息,然后计算出适当的左边距,使得文字位于Edit控件的中心。可以通过SetWindowTextRect函数设置文字的位置,或者在OnDraw...
而`TEXTMETRIC`结构则包含与字体相关的度量信息,如字符宽度、高度等。 这个简单的代码示例展示了如何在VC环境中利用Windows API获取系统字体信息。在实际开发中,根据具体需求,你可能还需要处理更多细节,例如...
- `ptl`: 指向 `TEXTMETRIC` 结构的指针,该结构包含有关字体的信息。 - `lpchText`: 指向文本字符串的指针。 - `c`: 字符串中的字符数。 - `rgl`: 用于指定每个字符的位置。 **应用场景**:常用于复杂文本的绘制,...
通过TEXTMETRIC和LOGFONT结构来描述字体,使用TextOut、ExTextOut、TabbedTextOut和DrawText等函数进行文本输出。在实际应用中,需先获取设备环境,设置字体后再进行文本渲染。 2. **文字处理步骤**:创建字体对象...
在实际的`WizFontsEnumerator`类中,开发者可能使用`LOGFONT`结构来描述字体属性,`NEWTEXTMETRIC`或`TEXTMETRIC`结构来获取字体的度量信息。同时,`EnumFontFamiliesEx`函数的回调函数会接收到这些信息,从而可以...
通过设置`TEXTMETRIC`结构的`tmAntiAlias`成员或使用`SetTextRenderingHint`函数,可以选择不同的抗锯齿模式,如`ANTIALIASED`和`CLEARTYPE`. 2. 线条和曲线抗锯齿:GDI虽然没有直接提供线条和曲线的抗锯齿功能,但...
例如,可以定义一个名为`EnumFontsProc`的回调函数,它接收`LOGFONT`和`TEXTMETRIC`结构作为参数,这两个结构分别包含了字体的详细信息和度量数据。 ```cpp BOOL CALLBACK EnumFontsProc(LPLOGFONT lpLogFont, ...
为了获取字符的点阵字模数据,我们可以使用GDI的`GetTextMetrics`函数,它返回包含字体信息的`TEXTMETRIC`结构,其中包括字符的平均宽度、高度等。然后,使用`GetCharABCWidths`或`GetCharWidth32`函数获取每个字符...
textmetric - 文本示例和用于计算文本可读性的度量。 textmetric 中的文本文件是经过特别挑选的带有初步年龄标记的文本。 这允许您开发自己的算法,用于基于这些指标分析文本的可读性、简单性和可理解性。 ...
- **TEXTMETRIC结构**:包含了关于当前字体的各种度量信息,如字符宽度、高度、倾斜角度等。 #### 字体 在Windows Mobile GDI中,可以通过以下方法来创建和管理字体: - **CreateFont()**:创建一个新字体对象。 - ...
### C/C++命名规则详解 #### 一、概述 C/C++作为一种广泛使用的编程语言,在软件开发中扮演着重要角色。良好的命名习惯不仅能提高代码的可读性与维护性,还能减少开发过程中的错误,提升团队协作效率。本文将详细...
1. **GetTextMetrics**:这个函数用于获取当前字体的信息,包括字体的平均字符宽度、高度等,存储在一个TEXTMETRIC结构中。这些信息对于创建与字体匹配的光标至关重要。 2. **CreateCaret**:该函数创建一个新的...
- **设备描述表**:GDI内部维护的一种数据结构,用于表示与特定物理输出设备相关的属性,如颜色、背景色、字体等。 - **获取设备描述表句柄**:可以通过两种方式获取设备描述表句柄: - 在处理WM_PAINT消息时,使用...
在C++编程语言中,数组是一类非常基础且重要的数据结构。它允许程序员存储一系列相同类型的值,并通过索引来访问这些值。然而,传统的C++数组存在一些明显的局限性,例如其大小在编译时就需要确定,并且一旦创建后...
7. **文本修饰**:对于删除线等文本修饰,需要使用`TEXTMETRIC`结构获取字体信息,并结合Windows API函数`SetTextDecoration`来实现。 8. **预览机制**:自定义`OnDrawItem`消息处理函数,使用`CDC`类进行绘图,...