在Canvas上做一个众包项目 - 页 2

 
Zorro:
关于使用kanvas作为用户界面的话题。

我想说这是一种美。)

我对速度非常满意。在渲染时间和控制方面,一切都相当充分。

 
谢谢你!

GIF和PNG的隐藏器
附加的文件:
ZoGIF.mqh  2 kb
ZoPNG.mqh  2 kb
 

好的。

既然你已经是在kanvas上创建控件的专家了。

你为什么不描述你的基类和一般事件模型?

----

我们可以从你的基础开始,然后增加更多的控制措施
- 按钮
-输入字段
- 滑块
- 下拉列表(已经在你的档案中)。
- 时间选择(已经在你的档案中)


 
规格应该放在倒数的逗号里 :)

现在我正忙于主要的工作,一旦我有空,我就会做出完整的计划,这不会早于2016年7月25日。

一般说来。

基本对象CFrame - 画布上的抽象对象,有x、y、宽度、高度和一组用于处理事件 的虚拟方法(OnMouse..., OnNotify, OnPaint),可以包含其他CFrame对象。

CWindow是CFrame的后代,它实现了一个画布,是图表上的一个图形对象,接收并处理外部事件(OnChartEvent),将其分配给驻留在其上的对象(子)。
所有的GUI对象都是由CFrame生成的,用必要的方法对其进行补充

P&F图表项目没有全局事件控制器,有2个或更多窗口(读作kanvas)的应用程序需要它。
它应该把事件分配给窗口,并监视GUI控件对一个实例(键盘+鼠标)的捕获。

 
输入栏 的问题是,没有一个好的想法,如何使用现有的东西。

IMHO现在,如果你画出自己的GUI键盘,你只能做一个完整的EDIT,但它很难支持语言,而且用鼠标打字也不方便......
 
Renat Fatkhullin:
顺便说一下,在MetaEditor中,你可以启动项目,邀请其他参与者,给他们权利,并一起为项目工作。

你是指MQL5存储 吗?

雷纳特,你能告诉我在哪里可以更详细地了解这一机制吗?

自从Staorage MQL5推出以来,我一直在使用它,但我没有发现那里有分组访问的选项。

 
项目 上点击右键,在菜单中选择 "添加访问权限",我在我的一个姐妹项目中使用了这个方法,它相当方便--一切都在你的指尖上......
 

好的。

CFrame是清楚的。

---

我注意到你走了一条路,即gui块由它们自己的位图来表示。

对于那些读到这篇文章并且已经开始思考的人来说,这是一个重要的观点。
这项工作应该只在一个位图上完成,所有的gui元素都在上面渲染。牢记 "Z "字顺序。
在这种情况下,将有更多的可能性进行渲染。(阴影、渐变等)。
而控制是简化的(我们不会到MT对象的水平)。

 
Zorro:
输入栏 的问题是,没有一个好的想法,如何使用现有的东西。

IMHO现在,如果你画出自己的GUI键盘,你只能做一个完整的EDIT,但它很难支持语言,而且用鼠标打字也不方便......
嗯,编辑的问题是什么?
 
Yuriy Zaytsev:

你是指MQL5存储 吗?

雷纳特,你能告诉我在哪里可以更详细地了解这一机制吗?

自从Staorage MQL5推出以来,我一直在使用它,但我没有发现那里有共享访问的选项。

项目 - MetaEditor
MetaEditor Projects允许程序员在MQL4/MQL5中远程开发应用程序。项目是专门为此目的而实施的。项目是通过MQL5存储实施的。因此,用户必须在MQL5.community拥有一个有效的账户,以及MQL5存储。在项目中工作具有MQL5存储的所有优势:安全存储源代码。在硬盘驱动器发生故障的情况下,可以迅速从存储器中检索到代码的本地副本。从任何计算机访问存储。您可以使用您的MQL5.community账户登录MetaEditor,并从任何个人电脑访问该项目。每个项目的访问权只由项目作者(创建项目的用户)设定。没有作者的许可,任何人都不能访问一个项目。MQL4或MQL5中的项目文件夹是为共享项目准备的。在导航仪中,它是...

MetaTrader 5 帮助 | 2015.12.02 10:22

而一般来说,你需要用项目来测试联合工作--我认为会有问题。