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

 
稍后,我将提供一份即将实现的功能列表,因为这些功能已经在生成器的前几个版本(4 年前)中运行过。在新版本中加入这些功能是非常现实的。
 

缺乏轻重缓急的开发方向永远不会 带来好的结果。这是所有专业开发人员都知道的基本道理。4 年前,我无法发布设计器的完成版本,因为我没有完成计划。如果我有计划,一切早就完成了。停止项目的下一个原因是在论坛上与其他人的意见进行无结果的争论。关于编程方法或图形用户界面 必要性的争论......不幸的是,这些都是无用的时间浪费。

那么,这个项目的完成情况如何呢?这个问题的答案非常重要,因为它决定了进一步发展方向的选择。

因此,我提出以下几点

1.界面元素的软件控制。

这是目前的主要任务之一。现在,用户只能在 API 文件中 "捕捉 "图形用户界面事件,但无法获取/更改元素属性或参数值。在权衡复杂性后,我可以说这项任务很简单,并将在下一个版本发布前得到解决。让用户以编程方式访问大量 GUI 元素和窗口属性。


2.常规表格和动态 表格。

常规表格已经实现。它们的工作已经过反复测试。拖放列和行(改变它们在表格中的位置)、折叠/展开表格行(添加 T_FOLDER 元素)或隐藏/取消隐藏列等功能都可以正常工作。自动将控件整合到表格中。例如,复选框、下拉列表、按钮、滑块、带按钮的输入框和简单的输入框--只要在组标题中添加关键字 IS_TABLE,所有这些控件都能自动集成到表格中。单元格中的值可以根据值着色。表格甚至可以嵌入到树形列表中。

然而,值得花时间恢复所有旧功能吗?

这很难说。

我认为首先要做的是恢复常规表格的基本功能,并确保它们运行良好。剩下的事情就随它去吧。

但是,在一个严肃的交易机器人界面中,最重要的是动态表格。动态表能够从证券交易所传递无穷无尽的数据流。我以前从未实现过。

结论:动态表格是当务之急。

(我们需要开始开发)。


3.树形列表。

相当现实的图形用户界面元素,以前重做过很多次。而且效果一次比一次好。最新版本特别好,但还没完成。如果我记得很详细,一两天就能完成。但你在图形用户界面中需要多少呢?我认为这不会有什么坏处,但你不应该执着于它。

结论:树形列表不是进一步开发的重点。

(有时间我会完成它的)。


4.动态窗口。

基本机制--调整大小、垂直和水平滚动、缩放、缩放窗口适应图表大小变化--已经运行良好。但是还有很多恼人的小问题。完整的动态窗口是大型动态表格和长列表的理想选择。

结论:完成动态窗口是当务之急。

(这可能需要一两天或三天的努力和热情)。


5.组和表最小化器

G_FOLDER 和 T_FOLDER 元素在过去工作得很好。现在效果如何我不知道,因为我还没有时间去测试它们。有趣的是,在最新开发的元素现象函数中,我统一了树形列表和这两种折叠器的管理。一个函数管理三个元素,大小不超过 400 至 500 行(以我的标准来看,这并不算多)。如果我让这个函数重新工作起来(它现在被禁用了),所有三个元素都将完美运行。让我们来看看。

结论:G_FOLDER 和 T_FOLDER 元素不在优先级。

(如果有机会和愿望,我会去做)。



现在想到的最后一个优先任务是: 6:

6.创建一个用标记语言编写的元素组和窗口模板分支

这将使用户即使没有很深的标记语言知识,也能快速、轻松地为解决任务建立必要的界面。


如果任何人对进一步开发的优先事项 有任何想法,请与我们分享。我会记录下来。

 

是的,程序管理是最重要的,是所有使用引擎的人的必修课。

对我来说,动态表格是必须的。我需要的界面主要是事件和报告的实时可视化。控件 是管理它们的工具(过滤器等),有了这些控件,我就可以开始整合引擎了。

第二个优先事项是全屏窗口。但这非常简单,在设计器中就已经实现了。有一个任务栏。而且暂时我可以使用尽可能大的窗口。我必须选择大小,这很痛苦。

第三个优先事项是图形。我不知道这有多难。也许你应该使用标准的画布工具,如果它们足够灵活的话。除了 "速度与激情"简易快速版 v1 之外,我还从未尝试过其他工具。

但愿有足够的动力。更多的时候,它在遭遇仇敌之后就会消失。"好人占大多数,但坏人更有组织"。

 
Edgar Akhmadeev 控制 是管理它们的关键(过滤器等),有了这些控制,我就可以开始整合引擎了。

第二个优先事项是全屏窗口。但这非常简单--设计器中已经实现了这一点。有一个任务栏。而且暂时我可以使用尽可能大的窗口。我必须拾取尺寸,这很痛苦。

第三个优先事项是图形。我不知道这有多难。也许你应该使用标准的画布工具,如果它们足够灵活的话。除了Fast And Furious Easy And Fast v1 之外,我从未尝试过。

但愿有足够的动力。更多的时候,它在遭遇仇敌之后就会消失。"好人占大多数,但坏人更有组织"。

1.程序化项目管理将出现在下一个版本中。暂定在 7-10 天内。

2.动态表格正在 "开发中"。我现在还不知道需要多长时间。这个过程可能很快....或没那么快。未知。

3.你已经有了一个全屏窗口。试试看。在窗口属性中写入 "DINAMIC",而不是 "SETTINGS"。进行测试并写下您的感受。(只需进入创建程序的现场发布版本即可)。您可以通过拉动窗口边缘或使用顶部按钮缩放来改变窗口大小。您还可以双击顶栏(窗口名称所在位置),或者直接抓住窗口的 "盖子 "向上拖动,直到窗口自动缩放。反之亦然。

4.打印窗口的 API 文件并将其发布到这里。我会查看并了解表格是如何打印出来的。这对未来软件连接的实现非常重要。


5.我会认真考虑自定义图表。我见过 Anatoly 的实现方法,但还没有尝试复制这一元素。

 

在使用动态窗口时有一个重要的细微差别:

窗口不接受 V_BOX 类型的元素,因为它们包含自己的画布。这会导致一个画布重叠在另一个画布上。因此,应将该元素与所有行 i、IN、"V1"、......一起注释掉。

也就是说,放置在V_BOX 元素 中的组应该只在 "MF "窗口中您不必特别注释掉i, IN, "V1" 行。

如果还不行,我明天再向您详细演示。在图片中。

 

将设置窗口转换为动态窗口的示例:

(点击图片)

 
我期待是添加更多的 (7) LESSONS,以让用户了解如何使用该库。
 
当缩小工具箱之后,底部的任务栏不能立即响应,需要切换到另一图表再点击回来,任务栏才能移动到底部。不知道是否能改善。
 
动态窗口似乎还未完善。鼠标离开该位置后,仍然保留鼠标滑过的状态
 
hini #:
当工具栏缩小时,底部的任务栏不会立即做出反应,你必须切换到另一个图表,然后点击返回,任务栏才会移动到底部。我不知道这是否可以改进。
这很奇怪。我会试着在我的地方重现这个错误并发布。