程序库: 用于创建图形界面的 EasyAndFastGUI 开发库 - 页 32

 
Anatoli Kazharski #:

这是名称冲突:

//---

您可以将Define.mqh 和其他库文件中的TO_STRING 替换为TO_STR

谢谢 Anatoli、

我已经了解了问题所在,并通过更改 ap.mqh 中的枚举成员名称暂时解决了问题。

我会将 ap.mqh 还原为 TO_STRING,并按照您的建议将 #define 改为 TO_STR;我担心这一改动可能会在您的库的未来版本中被覆盖。您是否也打算将源代码中的 TO_STRING 改为 TO_STR?

 
Earthy Stag beetle #:

...

您是否也要将源代码中的 TO_STRING 改为 TO_STR?

是的,当然。

 
Anatoli Kazharski #:

这是在哪个文件中找到的?

图书馆的第一个版本已经很久没有更新了。

所有地方都使用了 mt5 的 ENUM_SORT_MODE 和自定义 ENUM_SORT_MODE。但我自己已经解决了这个问题,现在还不知道在哪里。

 
Anatoli Kazharski #:

是的,当然。

谢谢你,阿纳托利、

我是一只快乐的兔子。

 

新的图表对象被绘制在我的 window.easyGUI 上,如下图所示 - 如何将我的 EA 窗口 "BringToFront"?


最好的办法是将其设置为始终位于最前面。

 
Earthy Stag beetle #:

新图表对象正在我的 window.easyGUI 上绘制,如下图所示 - 如何将我的 EA 窗口 "BringToFront"?

最好的办法是将其设置为始终位于最前面。

试试这个方法:

  CCoreEvents::ResetWindow();
  m_chart.Redraw();
 
Anatoli Kazharski #:

试试这个方法:

是的,这段代码确实将 EA 窗口带到了人工制品的前面。我运行了一个 1 秒计时器,并将代码放在了计时器处理程序中。

在这种情况下,它确实会导致窗口明显闪烁--每秒一次。

这需要在启动时进行一次还是反复进行?

老实说,我宁愿忍受假象,也不愿忍受闪烁。

谨致最崇高的敬意,ESB。
 
Earthy Stag beetle #:

是的,这段代码确实将 EA 窗口带到了人工制品的前面。我运行了一个 1 秒计时器,并将代码放在了计时器处理程序中。

在这种情况下,它确实会导致窗口明显闪烁--每秒一次。

这需要在启动时进行一次还是反复进行?

老实说,我宁愿忍受假象,也不愿忍受闪烁。

向您致以最诚挚的问候,ESB。

只需在发生交易事件(开仓或平仓)时执行一次。

 

亲爱的 Anatoli Kazharski 感谢您的努力

请帮我修复 Element.mqh 文件中的以下行错误。

m_id = m_wnd.LastId()+1;
m_chart_id = m_wnd.ChartId();
m_subwin = m_wnd.SubwindowNumber();
m_corner = (ENUM_BASE_CORNER)m_wnd.Corner();
m_anchor = (ENUM_ANCHOR_POINT)m_wnd.Anchor(); 

非常感谢

 
siavash shabgahi #:

亲爱的 Anatoli Kazharski 感谢您的努力

请帮我修复 Element.mqh 文件中的以下错误行。

非常感谢

@siavash shabgahi

在第二个版本中,这个问题已完全解决。