文章 "利用 MQL5 的交互式 GUI 改进您的交易图表(第 II 部分):可移动 GUI(II)" - 页 2

 

帮助!


您的预览引起了我的兴趣,让我觉得我不需要制作一个类 Text。 相反,我计划使用您的 GUI 作为基类,由我的每个独特面板的子类继承。 GUI 类应包含函数 Move(....) 的定义,但不包含任何工作代码。此外,子类还将包含一个 Move 函数,该函数将从 GUI onEvent 函数中获取 x 坐标和 y 坐标,并包含将这些坐标分配给面板上每个特定对象的 x y 坐标的代码。

虽然我是一个优秀的程序员,但我并不是一个优秀的对象程序员,事实上,我还是一个新手。 我收到了 "clsGUI::CreatePanel - cannot access private member function"(clsGUI::CreatePanel - 无法访问私有成员函数)的提示,我想这意味着我需要一些其他限定符,以便直接在子类中使用它们来解决这个错误。 到目前为止,我的参考资料还没有找到解决方案。

附件中的包含文件和程序与您的代码相同,但包含了我为解决问题而做的许多修改。

警告使用此代码的其他人,其中包含许多错误,我对此不承担任何责任。


非常感谢您的帮助


科达角

附加的文件:
 
CapeCoddah #:

帮助!


您的预览引起了我的兴趣,让我觉得我不需要制作一个类 Text。 相反,我计划使用您的 GUI 作为基类,由我的每个独特面板的子类继承。 GUI 类应包含函数 Move(....) 的定义,但不包含任何工作代码。此外,子类还将包含一个 Move 函数,该函数将从 GUI onEvent 函数中获取 x&y 坐标,并包含将这些坐标分配给面板上每个特定对象的 x y 坐标的代码。

虽然我是一个优秀的程序员,但我并不是一个优秀的对象程序员,事实上,我是一个新手。 我得到的结果是 "clsGUI::CreatePanel - 无法访问私有成员函数",我想这意味着我需要一些其他限定符,以便在子类中直接使用它们来解决这个错误。 到目前为止,我的参考资料还没有找到解决方案。

附件中的包含文件和程序与您的代码相同,但包含了我为解决问题所做的许多更改。

警告使用此代码的其他人,此代码包含大量错误,我对此不承担任何责任。


非常感谢您的帮助


科达角

在 .mqh 文件的第 103 行:

class clsSample : clsGUI

class clsSample : public clsGUI

问题解决了。


概念:继承类型 ->

以下是每种继承类型的含义:

  • 公共继承(类 Child :公共 父类):父类的公共成员和受保护成员分别成为子类的公共成员和受保护成员。从本质上讲,公共继承意味着 "is-a"。例如,"子类 "是 "父类 "的一种类型。

  • 保护继承(类 Child : 受保护的父类):父类的公共成员和受保护成员都成为子类的受保护成员。这意味着可以从 Child 类及其子类访问它们,但不能从这些类之外访问。

  • 私有继承(类 Child : 私有父类):父类的公共成员和受保护成员都成为子类的私有成员。这意味着这些成员只能在子类内部访问,而不能从子类或子类外部访问。

希望对您有所帮助!

注:使用图表重绘,否则会等待价格跳动。