GetFontName - MetaTrader 5 库


在指标中使用文本图形时,通常需要实现在指标输入参数中更改其字体类型的可能性。
在这种情况下,最明显的解决方案是在输入参数中手动输入字体名称作为一行,但这不是很方便,而且容易出错。更有效的方法是使用基于的自定义变量枚举和下拉菜单列表。所提出的功能模块就是为了解决这个任务而设计的。
一个例子就足以能够与该库一起使用。假设我们有一个在图表一角显示文本标签的指标 (ChartInfo_Old.mq5)。以下是其输入参数:
//+---------------------------------------------------------+ //|指标输入参数 | //+---------------------------------------------------------+ 输入 细绳文字=“真实的”; // 文本标签内容 输入 颜色 文本颜色=红色; // 文本标签颜色 输入 整数 字体大小=24; // 字体大小 输入type_font FontType=Font7; // 字体类型 输入 ENUM_BASE_CORNER 什么角落=角左下角;// 位置角 输入 单位Y_=1; // 垂直位置
使用这样的代码,指标输入参数窗口将具有以下外观:

为了使指标用户无需手动输入字体名称,我们应该对代码进行一些更改:
1. 借助 #include 指令,在指标输入参数的声明之前添加 GetFontName.mqh 文件的内容:
//+---------------------------------------------------------+ // type_font 枚举描述 | // CFontName 类描述 | //+---------------------------------------------------------+ #include
2. 替换FontType输入参数行:
输入 细绳字体类型=《快递新》;// 字体类型
与线
输入type_font FontType=Font7;// 字体类型
因此,我们稍微改变了变量用法的含义。前一个变量的含义必须在要在全局级别声明的新字符串变量中实现
细绳s字体类型;
然后字体类型指标代码中的变量必须替换为s字体类型。此操作必须仅在一处完成:
设置T标签(0,“信息_标签”,0,什么角落,ENUM_ANCHOR_POINT(2*什么角落),5,Y_,文本,文本颜色,sFontType,字体大小);
现在,s字体类型变量必须在OnInit()堵塞。只需几行代码即可完成此操作:
CFontName FONT; sFontType=FONT.GetFontName(FontType);
之后可以编译修改后的 ChartInfo.mq5 指标。
现在您可以在指标输入参数窗口中看到变化:

在指标输入参数中使用字体变得更加方便。
附件下载
📎 getfontname.mqh (5.12 KB)
📎 chartinfo_old.mq5 (6.01 KB)
📎 chartinfo.mq5 (6.32 KB)
Source: MQL5 #644
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录
