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

 
Реter Konow:

在我的实现中,A和B点由两个对象的位置表示--滑块轨道的X坐标(它的起点)和滑块滑动的X坐标。



你想得太狭隘了,在争论一些ObjectGet/Set
控件 中至少有三种模型合并--图形、事件、数据。
它的绘制位置和方式并不重要。它可以是文本形式,如[.......|...]。它也可以出现在画布上,或者显示两个MT矩形对象。

事件或数据的模型并不受此影响。

 
o_O:

绘制的版本中也是如此。

你的想法很狭隘,说的是一些ObjectGet/Set
该控件至少合并了三种模式--图形、事件、数据。
它的绘制位置和方式并不重要。它也可以是文本形式,如[.......|...]。它也可以出现在画布上,或者两个MT对象可以显示为矩形。

事件或数据的模型并不受此影响。


尽管如此,我对这一机制并不清楚。 如果你能更详细地解释,对于一个大致的概念,这将对我的理解有很大帮助。 谢谢。
 

有一个基本问题。

比方说,一个图表上有两个应用,面板,指标。他们每个人应该在自己的画布上画画,还是两个人都在一个共同的画布上?

这两种情况下都有问题。

 
o_O:

不只是少,而是完全没有(除了bitmap_label,它是所有东西的绘制地)。

我只是好奇你是如何实现文本处理的(文本标签、文本输入栏)。你要解决的问题的简短清单。

  • 与各国字母打交道(以字体为例,同样的Times New Roman有一个大纲,适用于从英语到大威的几乎所有字母和一些印度语)。
  • 文本缩放:6-8-10-12......72点--同样的字体大小可以毫无问题地设置。Vectoral字体有点像它的创建目的。
  • 斜体、粗体、下划线--你将为这些类型的字体或轮廓算法分别创建什么?
  • 打字/编辑、光标控制--把这一切做成图画的形式是一项艰巨的任务。说实话,我甚至无法想象你将如何实施它。

而这一切的背景是已经在工作的 "文本标签 "和 "文本编辑的文本标签 "控件。唯一的问题是32个字符的大小限制和不能使用集成字体。

你会花很多时间来解决所有这些问题,但你最多只会解决其中的30%。你的几百KB的代码充其量是有点不符合标准元素,但它会有自己的疾病、故障和各种不愉快的限制。你真的需要它吗?

 
Vasiliy Sokolov:
Документация по MQL5: Графические объекты / TextOut
Документация по MQL5: Графические объекты / TextOut
  • www.mql5.com
Графические объекты / TextOut - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
o_O:

不仅仅是少,而是完全没有(除了bitmap_label,这是所有东西的画法)。

也不要忘记事件模型。它不是为处理 画布上的事件 而设计的。你所拥有的将是在屏幕的某一区域的击键+鼠标坐标。是的,你可以通过OOP走出这片黑暗,但出口会很艰难,而且非常漫长。

 
Реter Konow:

我还是不明白这个机制。 如果你能更详细地解释,对于一个大致的概念,这将对我的理解有很大帮助。 谢谢。
运行xo. zip档案中的kanvas例子 https://www.mql5.com/ru/forum/92113#comment_2672543
 
Vasiliy Sokolov:

我只是想知道你是如何实现文本工作的

正如已经显示的那样--让我们使用TextOut

为了解决所有这些问题,你将耗费大量的时间

我们不会为不可逾越的障碍撞得头破血流。 如果主持人不为这些问题提供一个解决方案,整个事情就会停止。

我仍在等待他们在SR的回音。

另外,不要忘记事件模型。它并不是为了处理 画布上的事件 而设计的。

还记得吗,我向你展示了你的净值订单交易面板的类似物? 嗯,CHARTEVENY_MOUSE_MOVE在那里没有使用,一切都由自己分析。

相信我,事件或输入马车显示没有问题。

现在的问题只是关于键盘事件。

 
o_O:

现在问题只归结到了键盘事件。

有了键盘,一切或多或少都会清楚。这里有按下一个键的事件,也有这个键的代码。你还想要什么呢?
 
o_O:

我们将要求员工代表进行改进。

顺便说一句,如果你问我,通过引入OnMouseDown事件,在正常的DND方面会使生活变得更容易。