跳至内容

TextSetFont

TextSetFont

此函数使用绘图方法设置文本显示的字体,并返回该操作的结果。默认情况下使用大小为-120(12磅)的Arial字体。

bool  TextSetFont(
   const string  name,            // font name or path to font file on the disk
   int           size,            // font size
   uint          flags=0,         // combination of flags
   int           orientation=0    // text slope angle
   );

参数

name

[in] 系统中字体名称或包含字体的资源名称,或磁盘上字体文件的路径。

size

[in] 可以使用正数和负数设置字体大小。当使用正数时,显示文本的大小不依赖于操作系统的字体大小设置。当使用负数时,数值以磅的十分之一为单位,文本大小取决于操作系统设置(“标准比例”或“大比例”)。有关两种模式的差异更多信息,请参见下方说明。

flags=0

[in] 描述字体样式的flags组合。

orientation=0

[in] 文本相对于X轴的水平倾斜度,单位为0.1度。这意味着orientation=450表示倾斜度为45度。

返回值

如果当前字体成功安装,则返回true,否则返回false。可能的代码错误:

  • ERR_INVALID_PARAMETER(4003) - name为NULL或""(空字符串),
  • ERR_INTERNAL_ERROR(4001) - 操作系统错误(例如,尝试创建不存在的字体)。

说明

如果字体名称中使用“::”,则字体从EX4资源下载。如果指定了带扩展名的字体名称,则字体从文件下载;如果路径以“\”或“/”开头,则文件相对于MQL4目录搜索。否则,文件相对于调用TextSetFont()函数的EX4文件的路径搜索。

字体大小使用正数或负数设置。这决定了文本大小依赖于操作系统设置(大小比例)。

  • 如果大小由正数指定,则在将逻辑字体转换为物理字体时,该大小会转换为设备的物理测量单位(像素),并且该大小对应于从可用字体中选取的符号字形高度。当TextOut()函数显示的文本和OBJ_LABEL(“标签”)图形对象显示的文本需要在图表上一起使用时,不推荐这种情况。
  • 如果大小由负数指定,则该数值应以磅的十分之一为单位(-350等于35逻辑点)并除以10。然后将获得的值转换为设备的物理测量单位(像素),并对应于从可用字体中选取的符号的高度的绝对值。将对象属性中指定的字体大小乘以-10,使屏幕上的文本大小与OBJ_LABEL对象中的大小相似。

可以使用样式标志的组合以及指定字体宽度的标志。标志名称如下所示。

指定字体样式的标志

标志描述
FONT_ITALIC斜体
FONT_UNDERLINE下划线
FONT_STRIKEOUT删除线

指定字体宽度的标志

标志
FW_DONTCARE
FW_THIN
FW_EXTRALIGHT
FW_ULTRALIGHT
FW_LIGHT
FW_NORMAL
FW_REGULAR
FW_MEDIUM
FW_SEMIBOLD
FW_DEMIBOLD
FW_BOLD
FW_EXTRABOLD
FW_ULTRABOLD
FW_HEAVY
FW_BLACK

另请参阅

资源, ResourceCreate(), ResourceSave(), TextOut()

最后更新于