MQL5中的OOP问题 - 页 15 1...8910111213141516171819202122...96 新评论 Igor Makanu 2019.07.05 14:30 #141 Vasiliy Pushkaryov: 为错误的信息道歉,我之前写的是你不能在子类中调用Create()方法。 现在经过反复检查,可以了。但对私人成员m_button的访问是不可用的。例如,它不可能检查,例如,按钮的状态: 已按下/已释放。 现在有了伊戈尔的暗示,就有可能了。 那里的按钮没有问题,我不记得了,但这个类有准备好的方法(不是字段)--确定状态,如果没有,检查IsActive()或PropFlags()或StateFlags()--肯定有准备好的东西来找出按钮现在的情况。 我将告诉你在MQL中使用图形的第二个黑客--你可以找出按钮的名称(Name()),通过名称找到它,并通过ObjectGetInteger()和其他函数获得状态,但为了避免笨拙地做,在你的类中写出方法,通过ObjectGetInteger()获得属性 像这样;) PS: 我也在SB中挣扎--我找不到为什么复选框在最小化和最大化面板后会变成选中--就像鼠标在对象上被点击一样......当我意识到我不想重新阅读整个SB时,我创建了我自己的处理程序,在最小化表单后会通过ObjectSetInteger()为复选框设置取消选择的对象属性。 Vasiliy Pushkaryov 2019.07.05 22:19 #142 Igor Makanu:巴顿没有问题,我不记得了,但是这个类有准备好的方法(不是字段)--确定状态,如果没有,就检查IsActive()或PropFlags()或StateFlags()--到底是什么准备好了,以找出现在的按钮是什么。我将告诉你在MQL中使用图形的第二个黑客--你可以找出按钮的名称(Name()),通过名称找到它,并通过ObjectGetInteger()和其他函数获得状态,但为了避免笨拙地做,在你的类中写出方法,通过ObjectGetInteger()获得属性像这样;)PS: 我也在SB上挣扎--我找不到为什么复选框在最小化和最大化面板后会变成选中--就像我的鼠标在对象上被点击一样......我决定我不想重新阅读整件事--我建立了自己的处理程序,在最小化表单后,通过ObjectSetInteger()为我的复选框设置取消选择的对象属性。 我也遇到了这个问题。我需要用我自己的颜色来给对话框上色。它们也被证明是藏在私人部分。我设法用一种方法解决了这个问题,该方法利用ObjectGetInteger() 直接绘制面板。而在最小化和展开之后,也是一片混乱。 这就是标题第一次被最小化之前的样子。 而像这样之后。 我也找不到为什么关闭和折叠按钮会返回默认的颜色。 Vladimir Simakov 2019.07.06 01:29 #143 Vasiliy Pushkaryov: 我也遇到过这种情况。我需要用自己的颜色给SB的对话框上色。结果他们也被藏在了私人部分。 我设法用一个方法解决了这个问题,该方法使用ObjectGetInteger()直接绘制面板。而在最小化和展开之后,也是一片混乱。 这就是标题第一次被最小化之前的样子。 而这是在之后。 我也找不到为什么关闭和折叠按钮会返回默认的颜色。 我又看了看本地的std,确信了我自己写库的决定))) Vasiliy Pushkaryov 2019.07.06 09:45 #144 Vladimir Simakov: 我再一次看了看当地的std,确信了编写我的库的正确决定))) 我在这里 写了关于纽扣时刻的文章,摘录于此。 只要你慢慢地按下按钮,大约一秒钟一次,它就能正常工作。开始推得快一点,往往事件就不会被拦截。 你在你的图书馆里注意到这样的问题吗?我想知道是SB实现的问题还是事件处理架构的问题,没有办法绕过它? Dmitry Fedoseev 2019.07.06 10:05 #145 Vasiliy Pushkaryov:...我想知道,这是SB的实现,还是事件处理架构的问题,没有办法解决? 你可以在不使用库 的情况下自己创建一个按钮作为图形对象,并将其操作与用库创建的按钮进行比较。 Vasiliy Pushkaryov 2019.07.06 10:13 #146 Dmitry Fedoseev: 你可以在不使用库的情况下自己创建一个按钮作为图形对象,并将其操作与使用库创建的按钮进行比较。 谢谢你的想法,我会试一试的。 Igor Makanu 2019.07.06 10:24 #147 Vasiliy Pushkaryov: 我在这里 写了有纽扣的那一刻,摘录于此。 你在你的图书馆里注意到这样的问题吗?我想知道是SB的实现还是事件处理架构的问题,你无法绕过它? 如果你是为自己写的(不是在市场上),用C#做带按钮的窗口,用C#从MQL .dll中调用更容易--任何带按钮、图标、复选框等的幻想都可以在C#中实现,只需半个小时--一个小时,但我不得不在谷歌上搜索了一个星期的材料。 你唯一要做的就是看看你在终端目录中的吧,用它来创建你自己的界面--这是我的经验,我已经学会了我需要知道的一切 SZS: 我刚刚想起来,我在代码库里放了一个简单的面板,那里没有按钮,但是有文本标签,代码也尽可能的简单。https://www.mql5.com/ru/code/25897 Vasiliy Pushkaryov 2019.07.06 10:50 #148 Dmitry Fedoseev: 你可以在不使用库的情况下自己创建一个按钮作为图形对象,并将其性能与用库创建的按钮进行比较。 是的,取自一份旧工作,当我不与SB一起工作时,我做了一种关闭按钮。它的工作速度很快。 事实证明,问题出在SB的实施上。 Dmitry Fedoseev 2019.07.06 10:53 #149 Vasiliy Pushkaryov: 是的,取自我不与SB合作时的一份旧工作,我做了一种关闭按钮。它的工作速度很快。 事实证明,问题出在SB的实施上。 标准库 意味着控件是在表单上创建的。他们根本就不应该工作,就像这样。至少,过去是这样的。 Vasiliy Pushkaryov 2019.07.06 10:54 #150 Igor Makanu: 如果你是为自己写的(不是在市场上),那么用C#做带按钮的盒子,用C#从MQL .dll中调用它们就更容易了--任何带按钮、盒子、复选框等的幻想都可以在一个半小时内用C#实现,但我不得不在谷歌上搜索了一周的材料。 你唯一要做的就是看看你在终端目录中的吧,用它来创建你自己的界面--这是我的经验,我已经学会了我需要知道的一切 ZS:是的,我记得,我在代码库中放了一个简单的面板,那里没有按钮,但有文本标签,代码尽可能简单。https://www.mql5.com/ru/code/25897。 不,我不懂C#。 我会看一下小组的情况,谢谢你。 1...8910111213141516171819202122...96 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
为错误的信息道歉,我之前写的是你不能在子类中调用Create()方法。
现在经过反复检查,可以了。但对私人成员m_button的访问是不可用的。例如,它不可能检查,例如,按钮的状态: 已按下/已释放。
现在有了伊戈尔的暗示,就有可能了。
那里的按钮没有问题,我不记得了,但这个类有准备好的方法(不是字段)--确定状态,如果没有,检查IsActive()或PropFlags()或StateFlags()--肯定有准备好的东西来找出按钮现在的情况。
我将告诉你在MQL中使用图形的第二个黑客--你可以找出按钮的名称(Name()),通过名称找到它,并通过ObjectGetInteger()和其他函数获得状态,但为了避免笨拙地做,在你的类中写出方法,通过ObjectGetInteger()获得属性
像这样;)
PS: 我也在SB中挣扎--我找不到为什么复选框在最小化和最大化面板后会变成选中--就像鼠标在对象上被点击一样......当我意识到我不想重新阅读整个SB时,我创建了我自己的处理程序,在最小化表单后会通过ObjectSetInteger()为复选框设置取消选择的对象属性。
巴顿没有问题,我不记得了,但是这个类有准备好的方法(不是字段)--确定状态,如果没有,就检查IsActive()或PropFlags()或StateFlags()--到底是什么准备好了,以找出现在的按钮是什么。
我将告诉你在MQL中使用图形的第二个黑客--你可以找出按钮的名称(Name()),通过名称找到它,并通过ObjectGetInteger()和其他函数获得状态,但为了避免笨拙地做,在你的类中写出方法,通过ObjectGetInteger()获得属性
像这样;)
PS: 我也在SB上挣扎--我找不到为什么复选框在最小化和最大化面板后会变成选中--就像我的鼠标在对象上被点击一样......我决定我不想重新阅读整件事--我建立了自己的处理程序,在最小化表单后,通过ObjectSetInteger()为我的复选框设置取消选择的对象属性。
我也遇到了这个问题。我需要用我自己的颜色来给对话框上色。它们也被证明是藏在私人部分。我设法用一种方法解决了这个问题,该方法利用ObjectGetInteger() 直接绘制面板。而在最小化和展开之后,也是一片混乱。
这就是标题第一次被最小化之前的样子。
而像这样之后。
我也找不到为什么关闭和折叠按钮会返回默认的颜色。
我也遇到过这种情况。我需要用自己的颜色给SB的对话框上色。结果他们也被藏在了私人部分。 我设法用一个方法解决了这个问题,该方法使用ObjectGetInteger()直接绘制面板。而在最小化和展开之后,也是一片混乱。
这就是标题第一次被最小化之前的样子。
而这是在之后。
我也找不到为什么关闭和折叠按钮会返回默认的颜色。
我再一次看了看当地的std,确信了编写我的库的正确决定)))
我在这里 写了关于纽扣时刻的文章,摘录于此。
只要你慢慢地按下按钮,大约一秒钟一次,它就能正常工作。开始推得快一点,往往事件就不会被拦截。
你在你的图书馆里注意到这样的问题吗?我想知道是SB实现的问题还是事件处理架构的问题,没有办法绕过它?
...我想知道,这是SB的实现,还是事件处理架构的问题,没有办法解决?
你可以在不使用库 的情况下自己创建一个按钮作为图形对象,并将其操作与用库创建的按钮进行比较。
你可以在不使用库的情况下自己创建一个按钮作为图形对象,并将其操作与使用库创建的按钮进行比较。
我在这里 写了有纽扣的那一刻,摘录于此。
你在你的图书馆里注意到这样的问题吗?我想知道是SB的实现还是事件处理架构的问题,你无法绕过它?
如果你是为自己写的(不是在市场上),用C#做带按钮的窗口,用C#从MQL .dll中调用更容易--任何带按钮、图标、复选框等的幻想都可以在C#中实现,只需半个小时--一个小时,但我不得不在谷歌上搜索了一个星期的材料。
你唯一要做的就是看看你在终端目录中的吧,用它来创建你自己的界面--这是我的经验,我已经学会了我需要知道的一切
SZS: 我刚刚想起来,我在代码库里放了一个简单的面板,那里没有按钮,但是有文本标签,代码也尽可能的简单。https://www.mql5.com/ru/code/25897
你可以在不使用库的情况下自己创建一个按钮作为图形对象,并将其性能与用库创建的按钮进行比较。
是的,取自一份旧工作,当我不与SB一起工作时,我做了一种关闭按钮。它的工作速度很快。
事实证明,问题出在SB的实施上。
是的,取自我不与SB合作时的一份旧工作,我做了一种关闭按钮。它的工作速度很快。
事实证明,问题出在SB的实施上。
标准库 意味着控件是在表单上创建的。他们根本就不应该工作,就像这样。至少,过去是这样的。
如果你是为自己写的(不是在市场上),那么用C#做带按钮的盒子,用C#从MQL .dll中调用它们就更容易了--任何带按钮、盒子、复选框等的幻想都可以在一个半小时内用C#实现,但我不得不在谷歌上搜索了一周的材料。
你唯一要做的就是看看你在终端目录中的吧,用它来创建你自己的界面--这是我的经验,我已经学会了我需要知道的一切
ZS:是的,我记得,我在代码库中放了一个简单的面板,那里没有按钮,但有文本标签,代码尽可能简单。https://www.mql5.com/ru/code/25897。
不,我不懂C#。
我会看一下小组的情况,谢谢你。