用 MQL 编写的用户界面图库 - 页 19

 
Nikolai Semko # :



好吧,你没有提供这个文件,所以我才做了假设。 让我们等待包含所有文件的版本,以便进行实时测试。

我通过翻译仔细阅读了你们的对话,尼古拉-塞姆科(Nikolay Semko),我认为你是对的,希望我的话不会冒犯作者,你的编程技巧非常出色。
处理事件的最佳方法是使用指针实现,将引擎创建的 Internal_API.mqh 文件分离出来。
当按下或松开按钮时,这就是两个事件。引擎可以为按钮生成一个函数,例如 setButton1Click(void*ptr),然后在按钮的事件:ptr()中调用它,这个字符串 "setButton1Click(void*ptr) "就会被用户调用。在他的 EA 中,ptr 是指向函数的指针,在用户的文件中完全写明,因此 Internal_API 仍然可以正常工作,但不需要做任何修改。
这是我的理解,不管怎样,我仍在等待作者的大作。
 
我不知道你们是否会开源图形用户界面引擎,如果开源,我相信会有人合作改进这个项目,如果不开源,我完全可以理解,这是你的工作。
 
如果我在 Internal_API 中编写了大量自己的处理代码,当我更改图形用户界面、再次添加按钮并生成 Internal_API 时,是否意味着我需要将旧的 Internal_API 中的代码复制到新的 Internal_API 文件中?
 
尽量以易消化的格式写成文章....,并提供完整的材料--使其更有趣.....。

 
hini 项目,如果不开源,我完全可以理解,这是你的工作。
引擎和生成器将是开源的,任何人都可以做任何他们想做的改动,不过我不建议在没有彻底了解它们是如何工作的情况下这样做。

引擎本质上是构造器的一个小副本。为了连接方便,它被放在一个文件中。引擎包含操作控件和窗口所需的机制,但不包括根据标记代码的指示创建图形用户界面所需的机制。它接受来自用户顾问/指示器的 OnChartEvent() 函数的事件,并实现图形用户界面的反应和行为。
 
hini 图形用户界面 时在 Internal_API 中编写了大量自己的处理代码,再次添加按钮并生成 Internal_API,这是否意味着我需要将旧的 Internal_API 中的代码复制到新的 Internal_API 文件中?
部分地讲,是的。更改图形用户界面可能有所不同。例如,如果您只更改界面中的一些装饰性内容而不添加新元素(这一点很重要),您就不需要打印新的 Internal_API 文件。但是,如果您创建了新的元素、窗口、表格,或者对它们进行了重命名,那么 API 文件就必须进行修改或替换,将前者的代码复制到新的文件中。原则上,这并不难,但这取决于所做更改的数量。因此,建议您先在构造函数中完成接口,这样就不必重复做这项工作了。
 
Roman Shiredchenko #:
尽量以易消化的格式写成文章....,并提供完整的材料--使其更有趣.....。

如果公众感兴趣,可以。
 
Реter Konow #:
在某种程度上,是的。更改图形用户界面可能有所不同。例如,如果只是更改界面中的一些装饰性内容,而不添加新元素(这很重要),就不需要打印新的 Internal_API 文件。但如果您创建了新的元素、窗口、表格,或对它们进行了重命名,那么 API 文件就必须进行修改或替换,将代码从原来的文件复制到新的文件中。原则上,这并不难,但这取决于所做更改的数量。因此,建议您先在设计器中完成界面设计,这样就不必重复做这项工作了。
提前设计界面是很困难的,而且在设计界面的过程中改进界面也是常有的事,有时会删除一个元素,有时会添加一些东西。
 
hini #:
很难事先设计好界面,而且在设计过程中改进界面也是常有的事,有时会删除一个元素,有时会添加一些东西。
正如我之前所说,如果需要,更改 API 文件并不难。你只需从旧文件中复制函数调用块,然后插入到新文件中即可。这其实很简单。尤其是在任何文本编辑器的帮助下。不过 ME 肯定足够了。

根据我的经验,这从来都不是问题。))
 
Реter Konow #:
正如我之前所说,如果需要,更改 API 文件并不难。你只需从旧文件中复制函数调用块,然后插入到新文件中即可。这其实很简单。尤其是在任何文本编辑器的帮助下。不过 ME 肯定足够了。

根据我的经验,这从来都不是问题。))
ok,理解。等待你的发布!