Olga Miakhovich: 我希望这个主题没有死。我有以下问题:我有一个4K显示器,因此在Windows中我有一个放大的字体(大小为200%)。当你为指标制作文本对象 时,文本的大小取自Windows的设置,而且还被缩放,结果是,如果你制作的东西在正常的系统上看起来是正常的,在我的电脑上,文本就会互相重叠,如果你为我制作的是正常的,那么在正常设置下,文本就太小了。我在指标中做了一个设置,让用户选择是否缩放,但我不太喜欢它。
Устанавливает шрифт для вывода текста методами рисования и возвращает результат успешности этой операции. По умолчанию используется шрифт Arial и размер -120 (12 pt). [in] Размер шрифта, который может задаваться положительными и отрицательными значениями. При положительных значениях размер выводимого текста не зависит от настроек размеров...
我希望你们是朋友)
"泰坦之战 "是不会发生的。
有没有什么方法可以直接从程序中知道当前在windows中的字体(放大或不放大),并在代码中进行这一修正,而不触及用户?只是有些人可能有4k显示器,有按比例的文字,而市场上的大多数指标(使用文字的地方)看起来很难看,很难看。
我希望这个主题没有死。我有以下问题:我有一个4K显示器,因此在Windows中我有一个放大的字体(大小为200%)。当你为指标制作文本对象 时,文本的大小取自Windows的设置,而且还被缩放,结果是,如果你制作的东西在正常的系统上看起来是正常的,在我的电脑上,文本就会互相重叠,如果你为我制作的是正常的,那么在正常设置下,文本就太小了。我在指标中做了一个设置,让用户选择是否缩放,但我不太喜欢它。
有没有什么方法可以直接从程序中知道当前在windows中的字体(放大或不放大),并在代码中进行这种修正,而不接触用户?有些人可能有4k显示器,并有按比例的文字,而市场上的大多数指标(使用文字的地方)看起来很丑。
也许你应该改用资源工作,或者CCanvas?
然后你可以根据操作系统的设置,在那里设置字体大小。
阅读关于TextOut(), TextSetFont()
就这样,解决方案被找到了。对于那些想知道它是什么的人:使用TerminalInfoInteger(TERMINAL_SCREEN_DPI)函数;在标准缩放的情况下,它将是96。如果是2倍大,那么比例就会相应地增加2倍。
解决方案在帮助中
计算比例 系数 的例子 。
//--- 我们创建一个宽度为1的按钮。5 "的屏幕
int screen_dpi =TerminalInfoInteger(TERMINAL_SCREEN_DPI);//------得到用户显示器的DPI
int base_width =144;//在DPI=96的标准显示器上,以屏幕点数为基础宽度
int width = (button_width *)screen_dpi) / 96;//计算用户显示器的按钮宽度(含DPI)
...
//---以百分数计算比例系数
int scale_factor=(TerminalInfoInteger(TERMINAL_SCREEN_DPI)* 100) / 96;
//------使用比例因子
width=(base_width * scale_factor) / 100;
解决方案在帮助中
是的,但它不适合字体。
就这样,解决方案被找到了。
真的吗?缩放会影响显示器的dpi吗?
关于交易、自动交易系统和交易策略测试的论坛
mql5语言的特殊性,技巧和窍门
fxsaber, 2019.02.19 22:28
你看到的是以相同的价格开仓和平仓。但是,在没有正常化的情况下,它们的价格是不平等的!