文章 "如何创建任意复杂度的图形面板" - 页 15 1...89101112131415 新评论 Sunriser 2026.01.11 19:31 #141 Stanislav Korotky #: 请参见/MQL5/Include/Controls/Defines.mqh 文件 - 文件中的所有常量都定义为像素(!),因此在更改 DPI 时一切都 "浮动"。如果您想快速解决这个问题,您需要在代码中重新定义所有这些常量。 谢谢。我在代码中做了这样的处理,拖动窗口并点击十字键关闭窗口变得很方便。 但要缩放按钮图标(最小化/关闭),显然需要从其他地方入手:BmpButton.mqh、ChartObjectsBmpControls.mqh 等。 #include <Controls\Defines.mqh> // 删除旧值 #undef CONTROLS_DIALOG_CAPTION_HEIGHT #undef CONTROLS_DIALOG_BUTTON_OFF #undef CONTROLS_BUTTON_SIZE // 重新定义新值 #define CONTROLS_DIALOG_CAPTION_HEIGHT 60 // 窗口标题高度 #define CONTROLS_DIALOG_BUTTON_OFF 20 // 按钮缩进/位置(交叉、折叠) //--- BmpButton #define CONTROLS_BUTTON_SIZE 40 // 按钮的默认大小(16 x 16) Stanislav Korotky 2026.01.11 21:12 #142 Sunriser #:谢谢。我在代码中这样做了,拖动窗口并点击十字键关闭窗口变得很方便。 但要缩放按钮图标(最小化/关闭),您显然需要到其他地方查找:BmpButton.mqh、ChartObjectsBmpControls.mqh 等。 图标是位图 - 它们以 bmp 文件格式存储在MQL5/Include/Controls/res/ 目录中 - 如果放大它们,它们看起来会很糟糕。理想情况下,您需要一个单独的子目录(如 /hires/),并为其生成质量上乘的图像,并直接从资源链接到该子目录。 只有像宏那样严格重新定义,才能在普通显示器上显示出巨大的尺寸。也就是说,解决办法只是 "为自己"。好的办法是动态定义尺寸和图像,即编写一个分析当前 DPI 的 MQL5 封装程序。 1...89101112131415 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
请参见/MQL5/Include/Controls/Defines.mqh 文件 - 文件中的所有常量都定义为像素(!),因此在更改 DPI 时一切都 "浮动"。如果您想快速解决这个问题,您需要在代码中重新定义所有这些常量。
谢谢。我在代码中做了这样的处理,拖动窗口并点击十字键关闭窗口变得很方便。
但要缩放按钮图标(最小化/关闭),显然需要从其他地方入手:BmpButton.mqh、ChartObjectsBmpControls.mqh 等。
谢谢。我在代码中这样做了,拖动窗口并点击十字键关闭窗口变得很方便。
但要缩放按钮图标(最小化/关闭),您显然需要到其他地方查找:BmpButton.mqh、ChartObjectsBmpControls.mqh 等。
图标是位图 - 它们以 bmp 文件格式存储在MQL5/Include/Controls/res/ 目录中 - 如果放大它们,它们看起来会很糟糕。理想情况下,您需要一个单独的子目录(如 /hires/),并为其生成质量上乘的图像,并直接从资源链接到该子目录。
只有像宏那样严格重新定义,才能在普通显示器上显示出巨大的尺寸。也就是说,解决办法只是 "为自己"。好的办法是动态定义尺寸和图像,即编写一个分析当前 DPI 的 MQL5 封装程序。