Alexey Barbashin, 2020.03.07 21:25
"但也许在对象中做任何事情都更容易"--这比逻辑上更有意义。
"是的,当然,我们会部分地依靠它。"- 那么我们马上就会被纠正。
class CCoordPBase Наследуемся от CObject, то есть: class CCoordPBase : public CObject Хотя наверное можно и по другому: class Control : public CObject
CObject是开发者库中所有对象的基类。通过与C++和C#的类比而制成。夏普的基础对象(类型)是Object。
坐标和尺寸是控件的属性,还有边框的颜色、颜色和厚度、圆角的半径、图标和文本。
我们首先要定义什么样的控制是基本的,然后描述基本属性。
当然,以前定义的一些属性可能不会在子代中使用,这不是问题,但最好让基本的属性成为最通用的属性。
下面是一个简单的通用控制的例子。
包含背景、边框、半径、图标、文本
如果你需要一个Label,你不指定背景、边框和图标;如果你需要一个Panel,不指定内容;如果你需要一个图像按钮,只指定图标;如果你需要一个带图像的按钮,指定背景、边框和图像。
也就是说,这种构成对于大多数控制来说是相当普遍的。
我明白了,关于在保持坐标的情况下将鼠标悬停在它上面来改变风格的问题...虽然这已经很清楚了
是否有一个标准的biliotec控制?
来吧!!!!!
我正在考虑做一个简单的互动
我们将在这里输入位置,比如在行或列的情况下,在最后一个对象的左边。
所以我们要写一个通用的控制器这正是应该做的:写出基本的互动。
在最开始的时候,一个基本的控制器不一定要有所有必要的属性,只要有一个背景就足够了。
毕竟,为了渲染控件本身,它将包含相应的函数。因此,在添加任何属性时,我们只需要修改一个函数。
根据元素的层次结构?
CObject是一个基本类型
class CControl : public CObject - 库本身的基础控制。
class CContainerControl : public CControl - 群组控制。它的一个字段将是一个嵌套控件的数组。你可以在CWndContainer标准库中 看到一个例子。
萨沙,既然你已经开始编码了,那就在MQL中做一个开源项目吧,你们可以一起开发,与其他人分享。谁知道呢,也许会有一些。
我现在正在等待...查看标准图书馆.... 有很多不必要的东西
我不知道是否有很多这样的人,但最好是自己写一个kontrol...或继承CChartObject
![Документация по MQL5: Стандартная библиотека Документация по MQL5: Стандартная библиотека](https://c.mql5.com/36/33/dokumentaciya-po-mql5-standartnaya__1.png)
- www.mql5.com
萨沙,既然你已经开始编码,就在MQL中做一个开源项目。谁知道呢,也许会有一些。
我认为现在从头开始有点早,我们需要先建立起一些东西。