文章 "如何创建任意复杂度的图形面板" - 页 13 1...67891011121314 新评论 Vitaliy Davydov 2022.08.30 17:01 #121 您好! 能否请您告诉我,为什么您的面板在真实图表上运行正常,但在策略测试器中 却无法运行? 也就是说,例如按下按钮的事件没有得到处理。 我该如何解决? 在此先表示感谢! BillionerClub 2022.08.30 20:44 #122 在 mt5 上 使用另一种语言的 面板是否更好,完全取决于终端和图表。 Vasiliy Pushkaryov 2022.08.31 07:58 #123 Vitaliy Davydov 策略测试器中 却无法运行? 也就是说,例如按下按钮的事件没有得到处理。我该如何解决?非常感谢! 几年前我发布过一个带按钮的有效解决方案 。但在 MT5 测试版中,编辑字段不起作用。虽然您可以在编辑栏旁边添加小的 +/- 按钮,并通过它们进行编辑。但这其中会有细微差别。 vvebus 2022.10.27 18:57 #124 ON_MOUSE_FOCUS_KILL 似乎没有以任何方式被使用。将其添加到 Map 时不会发生任何事情。您也可以注释掉 ON_MOUSE_FOCUS_KILL,这样编译器就会跳过它。 Vitaliy Davydov 2022.12.22 13:23 #125 您好! 我创建了一个继承自 CDialog(或CWndContainer,没有区别)的面板。 如果我在图表的主窗口中创建一个面板,一切都能正常工作--用鼠标移动面板,用关闭按钮关闭面板。 如果在子窗口中创建面板,则一切正常--面板不会移动,也不会对关闭按钮做出反应。 问题:如何使面板对子窗口中图表的事件做出正常反应? Tiofelo Da Olga Gilbert Teles 2023.02.04 10:57 #126 你好,我成功制作了我的面板。非常感谢你的精彩教程。 Vitaliy Davydov 2023.03.23 10:50 #127 Vasiliy Pushkaryov #: 几年前,我发布了一个带按钮的有效解决方案 。但在 MT5 测试版中,编辑字段不起作用。虽然您可以在编辑栏旁边添加小的 +/- 按钮并通过它们进行编辑。但其中会有细微差别。 下午好! 谢谢您,我想明白了。 现在还有其他问题--所有这些来自标准库的面板、 在 MT4 测试仪的测试可视化模式下完全不起作用。 有没有解决这个问题的全局解决方案,这样我就不必为每个控件都手舞足蹈了? Vasiliy Pushkaryov 2023.03.25 12:43 #128 Vitaliy Davydov #:下午好!谢谢,解决了。现在还有其他问题--所有这些面板都来自标准库、在 MT4 测试仪的测试可视化模式下完全不起作用。有没有解决这个问题的全局解决方案,这样我就不必为每个控件都手舞足蹈了? 什么叫非功能性?在我的 MT4 测试器中,它们都能实现各自的功能。 我举了一个例子 ,当我继承自 CButton 并添加了cMyButton::isButtonPushed() 函数以与测试器配合使用时。 我对 CEdit 和 CCheckBox 也做了同样的处理,然后我一直使用我的继承者。这是一项一次性工作。 在 TestPush 文件中有一个示例函数 checkPushingButtons(): void OnTick() { if(MQLInfoInteger(MQL_VISUAL_MODE)) ExtDialog.checkPushingButttons(); } //+------------------------------------------------------------------------------------------------------------------+ //| 用于测试器和 OnTick。检查按钮(或对象)是否被按下 //+------------------------------------------------------------------------------------------------------------------+ void CAppWindowCorrectMinimization::checkPushingButttons() { if(m_button1.isButtonPushed()) print1(); if(m_button2.isButtonPushed()) print2(); } 下面是我的工作代码: //+------------------------------------------------------------------------------------------------------------------+ //| 用于测试器和 OnTick。检查按钮(或对象)是否被按下 //+------------------------------------------------------------------------------------------------------------------+ void cInterface::checkPushingButttons() { if(btnOnOff.isButtonPushed()) OnClickOnOff(); if(btnLong.isButtonPushed()) OnClickLong(); if(btnShort.isButtonPushed()) OnClickShort(); if(btnCloseOff.isButtonPushed()) OnClickCloseOff(); if(btnProtocol.isButtonPushed()) OnClickProtocol(); if(btnOpposMA6.isButtonPushed()) OnClickOpposMA6(); if(editMA2plus.isEditChanged()) OnEditMA2plus(); if(editPunct.isEditChanged()) OnEditPuncture(); 也就是说,不使用测试器和使用测试器的区别就在于添加了一个 checkPushingButttons() 函数,在这个函数中,我们为每个控件添加一个字符串,并通过勾选来检查它是推送还是输入。 准备模板,多做几次,我想你就会习惯了。 Holger62 2023.04.15 17:16 #129 你好,弗拉基米尔,,首先我还要感谢您的精彩教程。我在模板中使用时发现了一个问题:只需将您的任何应用程序放入一个空图表模板中即可。加载该模板后,应用程序会出现两次,如图所示。您知道如何解决这个问题吗? 非常感谢 附加的文件: AppWinTemplates.png 37 kb umad 2023.08.30 09:46 #130 为什么面板/窗口不能拖动/移动到图表边界之外? 与 Anatoli 的 easyfastgui 库有什么区别? 1...67891011121314 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
您好!
能否请您告诉我,为什么您的面板在真实图表上运行正常,但在策略测试器中 却无法运行?
也就是说,例如按下按钮的事件没有得到处理。
我该如何解决?
在此先表示感谢!
也就是说,例如按下按钮的事件没有得到处理。
我该如何解决?
非常感谢!
您好!
我创建了一个继承自 CDialog(或CWndContainer,没有区别)的面板。
如果我在图表的主窗口中创建一个面板,一切都能正常工作--用鼠标移动面板,用关闭按钮关闭面板。
如果在子窗口中创建面板,则一切正常--面板不会移动,也不会对关闭按钮做出反应。
问题:如何使面板对子窗口中图表的事件做出正常反应?
你好,我成功制作了我的面板。非常感谢你的精彩教程。
几年前,我发布了一个带按钮的有效解决方案 。但在 MT5 测试版中,编辑字段不起作用。虽然您可以在编辑栏旁边添加小的 +/- 按钮并通过它们进行编辑。但其中会有细微差别。
下午好!
谢谢您,我想明白了。
现在还有其他问题--所有这些来自标准库的面板、
在 MT4 测试仪的测试可视化模式下完全不起作用。
有没有解决这个问题的全局解决方案,这样我就不必为每个控件都手舞足蹈了?
下午好!
谢谢,解决了。
现在还有其他问题--所有这些面板都来自标准库、
在 MT4 测试仪的测试可视化模式下完全不起作用。
有没有解决这个问题的全局解决方案,这样我就不必为每个控件都手舞足蹈了?
什么叫非功能性?在我的 MT4 测试器中,它们都能实现各自的功能。
我举了一个例子 ,当我继承自 CButton 并添加了cMyButton::isButtonPushed() 函数以与测试器配合使用时。
我对 CEdit 和 CCheckBox 也做了同样的处理,然后我一直使用我的继承者。这是一项一次性工作。
在 TestPush 文件中有一个示例函数 checkPushingButtons():
下面是我的工作代码:
也就是说,不使用测试器和使用测试器的区别就在于添加了一个 checkPushingButttons() 函数,在这个函数中,我们为每个控件添加一个字符串,并通过勾选来检查它是推送还是输入。
准备模板,多做几次,我想你就会习惯了。
你好,弗拉基米尔,
,首先我还要感谢您的精彩教程。我在模板中使用时发现了一个问题:只需将您的任何应用程序放入一个空图表模板中即可。加载该模板后,应用程序会出现两次,如图所示。您知道如何解决这个问题吗?
非常感谢
为什么面板/窗口不能拖动/移动到图表边界之外?
与 Anatoli 的 easyfastgui 库有什么区别?