现在可以在mt4图表上设置按钮和文本字段了 - 页 2 12345678 新评论 Britanec 2011.05.18 13:27 #11 不错的 Taskin Osman 2011.05.18 13:50 #12 Ghost,我们有0.3版本,现在正在工作。我不确定0.2版本,但0.3版本肯定支持CHECKBOX和BUTTONS上的文本和bgcolors(其他的还没有实现)。 为了获得复选框的状态,我们将定义新的函数,但目前tbIsClicked(handle)可以检测到点击,所以你可以用内部函数来捕捉状态,因为它可以是1或0。 要获得文本框的值,可以使用 stringtbGetText(handle) 没有计划中的函数来获取Button的值,但是你可以通过以下方法来设置按钮的文本 tbSetText( obj, text, fontsize, fontname )。 这个函数也可以设置标签、文本字段等的值.....。 fx1 Britanec 2011.05.18 14:45 #13 fx1.net: 在这里,我想介绍一个新的mt4的免费插件作为预览。我目前正在测试一个名为mt4gui的产品。这个产品可以将按钮、文本字段、列表字段直接放在图表上;这里有一张已经工作的预览屏幕截图 http://fx1.net/wiki/uploads/img_7.png 按钮在点击后立即作出反应,而不需要等待经纪商的勾选。我们正在改进这个产品,下周会有更多的功能。我为什么发这个帖子是为了从社区获得 所需的想法。当然,并不是所有的东西都能实现,但我将在这里过滤有趣的想法。 这里有一个例子,非常基本的代码演示了用法。 如何在lib aka diagram中添加对象? Winapi 大有裨益 Taskin Osman 2011.05.18 14:50 #14 布里塔纳克。 这样的对象在现阶段实现起来非常复杂,因为我们想在1.0版本之前发布所有的普通对象,然后我们可以进入高级主题,但感谢你的建议,让我们知道新的想法。 fx1.net Ahmad Mehdiyev 2011.05.18 18:08 #15 我想我在之前的帖子里说得不是很清楚。让我们再试一下。 1)你的函数 在屏幕上放置按钮的方式与mql中的ObjectCreate略有不同。它并不与一个角绑定。所以要把一个按钮放在与下角有关的地方,有一个负坐标。另外,你的放置是从整个窗口开始的,而不是从一个图表窗口开始的。我并不反对这样做,但是用一般的mql函数在一个负坐标的按钮旁边放置文本是不可能的,或者说我做不到这一点。你的 "pxy "函数和其他函数一样,可以在图表窗口中放置文本,但它没有完成这个工作,因为坐标是不同的。 2)颜色在第2版中不工作。非常感谢你们更新到第三版。绝对没有颜色的问题了。非常好。 3) 我想再一次问你,是否可以使用你的dll的tbPutObject函数将对象放在一个单独的子窗口中。在我看来,如果这样做的话,你的产品会更有价值10倍。它将成为一个贸易控制台,并且在一个窗口中非常容易管理。此外,它将解决第1点中提出的所有坐标问题。 4)我有你在这里张贴的样本和fx1网站上的样本。当然,我也为deinit中的每个对象设置了tbRemove。它只是在专家被删除时没有删除这些对象。我不知道为什么。 我想再一次感谢你的产品。它确实很好,正是我长期以来一直在寻找的东西。 但有一个问题,我想提请您注意。如果MT4的ExpertAdvisor按钮处于关闭状态,点击您的任何按钮都不会发生,这是正确的,但当ExpertAdvisor按钮再次打开时,EA会执行所有的点击命令。只是为了测试,我在ExpertAdvisor关闭时点击了买入和卖出,当我把它打开时,它就买入和卖出。我想这是需要解决的问题。 Gh0sT 2011.05.18 22:53 #16 fx1.net :控件 在图表上闪烁得很频繁,你能解决这个问题吗?我想闪烁的频率取决于tick数据。 Taskin Osman 2011.05.19 07:44 #17 幽灵:请看我的视频;它们根本不会冲刷,这是执行问题。如果你在每次勾选时都 删除并重新应用,这可能会发生,但在其他情况下,它们或多或少是静态的。至少在我这边是这样。你能公布你是如何实现的吗? Taskin Osman 2011.05.19 08:04 #18 pro_: 我想我在之前的帖子里说得不是很清楚。让我们再试一下。 1)你的函数在屏幕上放置按钮的方式与mql中的ObjectCreate略有不同。它并不与一个角绑定。所以要把一个按钮放在与下角有关的地方,有一个负坐标。另外,你的放置是从整个窗口开始的,而不是从一个图表窗口开始的。我并不反对这样做,但是用一般的mql函数在一个负坐标的按钮旁边放置文本是不可能的,或者说我做不到这一点。你的 "pxy "函数和其他函数一样,可以在图表窗口中放置文本,但它没有完成这个工作,因为坐标是不同的。 pro_: 是的,MQL是通过设置单独的属性来做到这一点的,并保持位置为正。我相信你可以用负坐标做得更好,这就是为什么我以这种方式实现。关于pxy函数,它能够理解--坐标的轻微修改。是的,整个窗口,因为作为.dll,我们不能看到图表轴等。另一方面,它们看起来是静态的,你可以简单地测量它们的宽度和高度,然后将文本x,y相对于它放置。 2)颜色在第2版中不工作。非常感谢你们更新到第三版。绝对没有颜色的问题了。非常好。 版本3支持按钮、复选框的颜色。 3) 我想再一次问你,是否可以使用你的dll的tbPutObject函数将对象放在一个单独的子窗口中。在我看来,如果这样做的话,你的产品将会更有价值10倍。它将成为一个贸易控制台,并且在一个窗口中非常容易管理。此外,它将解决第1点中提出的所有坐标问题。 主要的工作是将它们放置在图表窗口上。单独的窗口放置将非常容易,但目前我们选择了一种方式。如果我们将它们放置在图表或单独的窗口中,其实现方式略有不同。在以后的版本中,我们可能会支持这一点。我有计划在不改变图表所在的MDI窗口大小的情况下,使图表变得更小。这样,我们就可以在右边或底部有单独的空间来放置额外的按钮。它们将看起来像图表旁边的按钮。 4) 我有你在这里张贴的样本和fx1网站上的样本。当然,我也为deinit中的每个对象设置了tbRemove。它只是在专家被删除时没有删除这些对象。我不知道为什么。 是的,我确认,这曾经工作过。我将检查这个重要的问题 有一个问题,我想提请您注意。如果MT4的ExpertAdvisor按钮处于关闭状态,点击任何按钮都不会发生,这是正确的,但当ExpertAdvisors按钮再次打开时,EA会执行所有的点击命令。只是为了测试,我在ExpertAdvisor关闭时点击了买入和卖出,当我把它打开时,它就买入和卖出。我想这是需要解决的问题。 是的,你说得很对。我没有检查这个问题。我也会努力解决这个问题。 非常感谢您对mt4gui的测试! Gh0sT 2011.05.19 09:38 #19 fx1.net:在发布我的代码之前,我先检查一下你的示例代码。 我使用tbSetText来更新每个刻度 的标签文本,这可能是问题吗? 你是否打算在插件中加入放射状按钮?如果没有,我们怎么能改变复选框的检查状态? Taskin Osman 2011.05.19 22:40 #20 tbRemove和tbRemoveAll的错误已经在v0.4版本中修复。 对复选框 的支持得到了扩展。 int tbSetChecked(int,bool); int tbIsChecked(int)。 网站上的演示代码已经更新。 12345678 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
Ghost,我们有0.3版本,现在正在工作。我不确定0.2版本,但0.3版本肯定支持CHECKBOX和BUTTONS上的文本和bgcolors(其他的还没有实现)。
为了获得复选框的状态,我们将定义新的函数,但目前tbIsClicked(handle)可以检测到点击,所以你可以用内部函数来捕捉状态,因为它可以是1或0。
要获得文本框的值,可以使用
stringtbGetText(handle)
没有计划中的函数来获取Button的值,但是你可以通过以下方法来设置按钮的文本
tbSetText( obj, text, fontsize, fontname )。
这个函数也可以设置标签、文本字段等的值.....。
fx1
在这里,我想介绍一个新的mt4的免费插件作为预览。我目前正在测试一个名为mt4gui的产品。这个产品可以将按钮、文本字段、列表字段直接放在图表上;这里有一张已经工作的预览屏幕截图
http://fx1.net/wiki/uploads/img_7.png
按钮在点击后立即作出反应,而不需要等待经纪商的勾选。我们正在改进这个产品,下周会有更多的功能。我为什么发这个帖子是为了从社区获得 所需的想法。当然,并不是所有的东西都能实现,但我将在这里过滤有趣的想法。
这里有一个例子,非常基本的代码演示了用法。
如何在lib aka diagram中添加对象? Winapi
大有裨益
布里塔纳克。
这样的对象在现阶段实现起来非常复杂,因为我们想在1.0版本之前发布所有的普通对象,然后我们可以进入高级主题,但感谢你的建议,让我们知道新的想法。
fx1.net
我想我在之前的帖子里说得不是很清楚。让我们再试一下。
1)你的函数 在屏幕上放置按钮的方式与mql中的ObjectCreate略有不同。它并不与一个角绑定。所以要把一个按钮放在与下角有关的地方,有一个负坐标。另外,你的放置是从整个窗口开始的,而不是从一个图表窗口开始的。我并不反对这样做,但是用一般的mql函数在一个负坐标的按钮旁边放置文本是不可能的,或者说我做不到这一点。你的 "pxy "函数和其他函数一样,可以在图表窗口中放置文本,但它没有完成这个工作,因为坐标是不同的。
2)颜色在第2版中不工作。非常感谢你们更新到第三版。绝对没有颜色的问题了。非常好。
3) 我想再一次问你,是否可以使用你的dll的tbPutObject函数将对象放在一个单独的子窗口中。在我看来,如果这样做的话,你的产品会更有价值10倍。它将成为一个贸易控制台,并且在一个窗口中非常容易管理。此外,它将解决第1点中提出的所有坐标问题。
4)我有你在这里张贴的样本和fx1网站上的样本。当然,我也为deinit中的每个对象设置了tbRemove。它只是在专家被删除时没有删除这些对象。我不知道为什么。
我想再一次感谢你的产品。它确实很好,正是我长期以来一直在寻找的东西。
但有一个问题,我想提请您注意。如果MT4的ExpertAdvisor按钮处于关闭状态,点击您的任何按钮都不会发生,这是正确的,但当ExpertAdvisor按钮再次打开时,EA会执行所有的点击命令。只是为了测试,我在ExpertAdvisor关闭时点击了买入和卖出,当我把它打开时,它就买入和卖出。我想这是需要解决的问题。
fx1.net :控件 在图表上闪烁得很频繁,你能解决这个问题吗?我想闪烁的频率取决于tick数据。
我想我在之前的帖子里说得不是很清楚。让我们再试一下。
1)你的函数在屏幕上放置按钮的方式与mql中的ObjectCreate略有不同。它并不与一个角绑定。所以要把一个按钮放在与下角有关的地方,有一个负坐标。另外,你的放置是从整个窗口开始的,而不是从一个图表窗口开始的。我并不反对这样做,但是用一般的mql函数在一个负坐标的按钮旁边放置文本是不可能的,或者说我做不到这一点。你的 "pxy "函数和其他函数一样,可以在图表窗口中放置文本,但它没有完成这个工作,因为坐标是不同的。
pro_: 是的,MQL是通过设置单独的属性来做到这一点的,并保持位置为正。我相信你可以用负坐标做得更好,这就是为什么我以这种方式实现。关于pxy函数,它能够理解--坐标的轻微修改。是的,整个窗口,因为作为.dll,我们不能看到图表轴等。另一方面,它们看起来是静态的,你可以简单地测量它们的宽度和高度,然后将文本x,y相对于它放置。
2)颜色在第2版中不工作。非常感谢你们更新到第三版。绝对没有颜色的问题了。非常好。
版本3支持按钮、复选框的颜色。
3) 我想再一次问你,是否可以使用你的dll的tbPutObject函数将对象放在一个单独的子窗口中。在我看来,如果这样做的话,你的产品将会更有价值10倍。它将成为一个贸易控制台,并且在一个窗口中非常容易管理。此外,它将解决第1点中提出的所有坐标问题。
主要的工作是将它们放置在图表窗口上。单独的窗口放置将非常容易,但目前我们选择了一种方式。如果我们将它们放置在图表或单独的窗口中,其实现方式略有不同。在以后的版本中,我们可能会支持这一点。我有计划在不改变图表所在的MDI窗口大小的情况下,使图表变得更小。这样,我们就可以在右边或底部有单独的空间来放置额外的按钮。它们将看起来像图表旁边的按钮。
4) 我有你在这里张贴的样本和fx1网站上的样本。当然,我也为deinit中的每个对象设置了tbRemove。它只是在专家被删除时没有删除这些对象。我不知道为什么。
有一个问题,我想提请您注意。如果MT4的ExpertAdvisor按钮处于关闭状态,点击任何按钮都不会发生,这是正确的,但当ExpertAdvisors按钮再次打开时,EA会执行所有的点击命令。只是为了测试,我在ExpertAdvisor关闭时点击了买入和卖出,当我把它打开时,它就买入和卖出。我想这是需要解决的问题。
是的,你说得很对。我没有检查这个问题。我也会努力解决这个问题。
非常感谢您对mt4gui的测试!
fx1.net:在发布我的代码之前,我先检查一下你的示例代码。
我使用tbSetText来更新每个刻度 的标签文本,这可能是问题吗?
你是否打算在插件中加入放射状按钮?如果没有,我们怎么能改变复选框的检查状态?
tbRemove和tbRemoveAll的错误已经在v0.4版本中修复。
对复选框 的支持得到了扩展。
int tbSetChecked(int,bool);
int tbIsChecked(int)。
网站上的演示代码已经更新。