在Canvas上做一个众包项目 - 页 31 1...242526272829303132333435363738...45 新评论 Реter Konow 2020.01.24 14:39 #301 Реter Konow: 套用一句话:你最终会得到一个带有接口的EA,尽管其中一部分是由我完成的,另一部分是由你完成的。这并不妨碍你将两部分合并成一个EA。 虽然,你可以走另一条路。我将发布构造函数,而你,在我的帮助下,将设计出你需要的gui。然后你将打印出核心,并将其插入引擎,你将把它插入专家顾问。这就更好了,因为你将立即学会如何用标记语言写出图形,而且你将能够自己纠正它们。 Реter Konow 2020.01.24 14:57 #302 无论如何,这就是我们要做的。我将在这里发布构造器并教授如何 在其上设计 gui。目前还没有文档,如果你有兴趣,请继续关注该教程。该培训将包括以下主题。1.创建一个功能性的gui。2.造型设计。3.打印并将内核和引擎文件插入到应用程序中(非常简单--像一个内联)。4.通过API功能将gui元素连接到应用程序(API文件会自动创建)。等待在这个主题中发表。 Алексей Барбашин 2020.01.24 17:30 #303 Реter Konow: 无论如何,这就是我们要做的。我将在这里发布构建器并教授如何在其上进行设计的gui。目前还没有文档,所以如果你感兴趣,请留意教程的内容。 该培训将包括以下主题。 1.创建一个功能性的gui。 2.风格设计。 3.打印并连接内核和引擎文件到应用程序(非常简单--像一个内联)。 4.通过API功能将gui元素连接到应用程序(API文件会自动创建)。 期待在本处发表。 收到! Алексей Барбашин 2020.01.25 19:33 #304 ---: 我没有录制视频,但我把一个例子发给你。 有600个下拉列表。 移动鼠标--随着每个事件和颜色的改变,整个CCanvas被重新绘制。 你可以在位图属性中看到最终的尺寸--1500x600 px(与你的800x500和250ms滞后相比)。这相当于900,000个像素,而且都是即时重绘。 没有几秒钟是不可能的。 每个列表首先在自己的画布上以自己的尺寸呈现(为了不溢出),然后在整体上进行耕耘。因此,我们在每个鼠标事件中有600个ResourceCreate调用。 这意味着,正如你从反应速度中看到的那样,帧数足以显示动画片。 MT开发者提供了令人满意的工具,没有滞后性(我指的是ResourceCreate bitmaps)。 是否有可能在开放源码中看到这个例子? Dmitry Fedoseev 2020.01.25 20:05 #305 Алексей Барбашин: 令人难过的是,该项目已经进入了封闭模式( 它还没有走远。 Dmitry Fedoseev 2020.01.25 20:07 #306 Алексей Барбашин: 是否有可能在开放源码中看到这个例子? 你对kanvas有什么不理解? 1.它像所有其他图形对象一样对事件作出反应。换句话说,你可以在鼠标移动时跟踪它的坐标,对鼠标 和键盘点击 事件作出反应。 2.它可以独立改变每个像素的颜色。 你还需要什么?然后你需要一些头脑和愿意无意义地浪费大量时间。 Алексей Тарабанов 2020.01.25 20:59 #307 你好。 Алексей Барбашин 2020.01.25 21:08 #308 Dmitry Fedoseev: 你对使用画布的工作有什么不理解? 1.它像所有其他图形对象一样对事件作出反应。也就是说,你可以在它移动时跟踪鼠标坐标,对鼠标 和键盘点击 事件作出反应。 2.它可以独立改变每个像素的颜色。 你还需要什么?接下来你需要的是一些头脑和浪费大量时间的愿望。 那么kanvas本身对事件没有反应。而你可以改变每个像素的事实是不言而喻的。 我对实现画布的碎片化重绘感兴趣。 但似乎很多人已经定下了全面重绘画布的做法,即使只需要重绘一小部分,也就是一个控件。 Dmitry Fedoseev 2020.01.25 21:32 #309 Алексей Барбашин:嗯,画布本身对事件没有反应。而且,你可以改变每一个像素的事实是很清楚的。我对零星重绘画布的实施感兴趣。 但似乎很多人已经定下了全面重绘画布,即使只需要重绘一小部分,即一个控件。 画布本身对事件没有反应,但它本身并不存在。 碎片化的重绘--值得开始做,如果有这样的目标,会变得更加清晰。我认为应该有一个控件 阵列,每个控件都有明确的边界。当你需要重绘一个控件时,你必须翻阅所有的控件,看看还有哪些属于这个区域,然后只重绘它们。至少像这样。 Алексей Барбашин 2020.01.26 09:21 #310 Dmitry Fedoseev: 画布本身不是反应性的,但它本身并不存在。 碎片化的重绘--值得开始做,如果有这样的目标,会变得更清晰。我认为应该有一个控件阵列,每个控件都有明确的边界。当你需要重绘一个控件时,你必须翻阅所有的控件,看看还有哪些属于这个区域,然后只重绘它们。至少是这样。 这正是我建造它的方式。基本上,我以标准库为 基础,因为它有非常好的转移事件的时刻和其他一些东西。阿纳托利为每一个不同类别的元素创造了分组,而在标准一中,一切都被简化为一个基本对象。 因此,WndObject包含了任何控件最常见的属性的完整描述(大小、位置、背景颜色、边框颜色、边框厚度、文本、图像,等等)。此外,同一个类还包含对父控件的引用。也就是说,如果没有为控件指定父级,那么它就在图形上创建自己的kanvas对象,否则就在父级的kanvas上绘制。根据其位置(独立的、从属的),也会计算出项目位置的坐标。此外,同一个对象还有一个数组,其中包含了该项目所占用的父区域的原始描述。这个想法本身是这样的:如果只有元素本身发生了变化,那么在它被重绘之前,像素区域会被父像素的矩阵填满,只有在这时才会应用控件的新状态。这种方法不需要每次都重绘整个画布,因为重绘是绕过数组中的所有元素,并对嵌套元素进行递归。对于渲染和更新一个特定的控件,我们建议使用两个函数:一个是在创建整个控件时在父控件(或空白画布)上绘制,另一个是只更新给定控件的显示。所以它是这样的。 仍然 "迷失 "在事件模型中:在哪些变化之后,哪些层需要重新绘制。 尼古拉在他的例子中表明,原则上没有必要费力地存储局部区域的数据,因为整个画布的重绘工作非常迅速,没有必要深入到细节,总是一次性重绘就足够了。 Документация по MQL5: Стандартная библиотека www.mql5.com Стандартная библиотека MQL5 написана на языке MQL5 и предназначена для облегчения написания программ (индикаторов, скриптов, экспертов) конечным пользователям. Библиотека обеспечивает удобный доступ к большинству внутренних функций MQL5. 1...242526272829303132333435363738...45 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
套用一句话:你最终会得到一个带有接口的EA,尽管其中一部分是由我完成的,另一部分是由你完成的。这并不妨碍你将两部分合并成一个EA。
无论如何,这就是我们要做的。我将在这里发布构建器并教授如何在其上进行设计的gui。目前还没有文档,所以如果你感兴趣,请留意教程的内容。
收到!
我没有录制视频,但我把一个例子发给你。
有600个下拉列表。
移动鼠标--随着每个事件和颜色的改变,整个CCanvas被重新绘制。
你可以在位图属性中看到最终的尺寸--1500x600 px(与你的800x500和250ms滞后相比)。这相当于900,000个像素,而且都是即时重绘。 没有几秒钟是不可能的。
每个列表首先在自己的画布上以自己的尺寸呈现(为了不溢出),然后在整体上进行耕耘。因此,我们在每个鼠标事件中有600个ResourceCreate调用。
这意味着,正如你从反应速度中看到的那样,帧数足以显示动画片。
MT开发者提供了令人满意的工具,没有滞后性(我指的是ResourceCreate bitmaps)。
是否有可能在开放源码中看到这个例子?
令人难过的是,该项目已经进入了封闭模式(
它还没有走远。
是否有可能在开放源码中看到这个例子?
你对kanvas有什么不理解?
1.它像所有其他图形对象一样对事件作出反应。换句话说,你可以在鼠标移动时跟踪它的坐标,对鼠标 和键盘点击 事件作出反应。
2.它可以独立改变每个像素的颜色。
你还需要什么?然后你需要一些头脑和愿意无意义地浪费大量时间。
你对使用画布的工作有什么不理解?
1.它像所有其他图形对象一样对事件作出反应。也就是说,你可以在它移动时跟踪鼠标坐标,对鼠标 和键盘点击 事件作出反应。
2.它可以独立改变每个像素的颜色。
你还需要什么?接下来你需要的是一些头脑和浪费大量时间的愿望。
那么kanvas本身对事件没有反应。而你可以改变每个像素的事实是不言而喻的。
我对实现画布的碎片化重绘感兴趣。
但似乎很多人已经定下了全面重绘画布的做法,即使只需要重绘一小部分,也就是一个控件。
嗯,画布本身对事件没有反应。而且,你可以改变每一个像素的事实是很清楚的。
我对零星重绘画布的实施感兴趣。
但似乎很多人已经定下了全面重绘画布,即使只需要重绘一小部分,即一个控件。
画布本身对事件没有反应,但它本身并不存在。
碎片化的重绘--值得开始做,如果有这样的目标,会变得更加清晰。我认为应该有一个控件 阵列,每个控件都有明确的边界。当你需要重绘一个控件时,你必须翻阅所有的控件,看看还有哪些属于这个区域,然后只重绘它们。至少像这样。
画布本身不是反应性的,但它本身并不存在。
碎片化的重绘--值得开始做,如果有这样的目标,会变得更清晰。我认为应该有一个控件阵列,每个控件都有明确的边界。当你需要重绘一个控件时,你必须翻阅所有的控件,看看还有哪些属于这个区域,然后只重绘它们。至少是这样。
这正是我建造它的方式。基本上,我以标准库为 基础,因为它有非常好的转移事件的时刻和其他一些东西。阿纳托利为每一个不同类别的元素创造了分组,而在标准一中,一切都被简化为一个基本对象。
因此,WndObject包含了任何控件最常见的属性的完整描述(大小、位置、背景颜色、边框颜色、边框厚度、文本、图像,等等)。此外,同一个类还包含对父控件的引用。也就是说,如果没有为控件指定父级,那么它就在图形上创建自己的kanvas对象,否则就在父级的kanvas上绘制。根据其位置(独立的、从属的),也会计算出项目位置的坐标。此外,同一个对象还有一个数组,其中包含了该项目所占用的父区域的原始描述。这个想法本身是这样的:如果只有元素本身发生了变化,那么在它被重绘之前,像素区域会被父像素的矩阵填满,只有在这时才会应用控件的新状态。这种方法不需要每次都重绘整个画布,因为重绘是绕过数组中的所有元素,并对嵌套元素进行递归。对于渲染和更新一个特定的控件,我们建议使用两个函数:一个是在创建整个控件时在父控件(或空白画布)上绘制,另一个是只更新给定控件的显示。所以它是这样的。
仍然 "迷失 "在事件模型中:在哪些变化之后,哪些层需要重新绘制。
尼古拉在他的例子中表明,原则上没有必要费力地存储局部区域的数据,因为整个画布的重绘工作非常迅速,没有必要深入到细节,总是一次性重绘就足够了。