Библиотека содержит классы и интерфейсы для определения шаблонных коллекций, которые, в свою очередь, дают пользователю возможность создавать строго типизированные коллекции. Они обеспечивают большее удобство и высокую производительность работы с данными, чем обычные типизированные коллекции.
class CControl : public CObject
{
public:
int ПозицияХ;
int ПозицияY;
int Длина;
int Ширина;
color ЦветОсновы;
color ЦветБордюра;
int ТолщинаБордюра;
}
从上面可以理解,结构元素是一个特定的对话框控件,它包含自己的属性,可以包含嵌套的控件。这样一个通用控件的属性集只受限于开发者的想象力。
当然,我们可以避免这种结构,用一个多维数组 来描述控件的属性,但最初并不划算,因为我们需要清楚地记住某些属性的哪个索引被存储。而且阵列不能包含异质数据类型。事实证明,程序化编程中的控制元素的描述只有通过结构才能实现。也就是说,结构元素是一个具体的控件,也就是具有属性的对话框的具体对象。
在标准库中,Include文件夹下有一个Generic 文件夹,它包含了实现 键值类型接口 的CHashMap类。
一个单一的对象可以有一组任何类型的值。虽然地图树的运行很耗时,但它的工作速度相当快。
甚至可能对描述属性起作用,一般情况下应该尝试。
或者使用本库中另一个更适合该任务的班级类型。
再读一遍,即你提议存储一个等于像素数组的数组,以便在这个数组中存储信息(在你的案例中,"哪个函数号 "应该被用来处理)。?
然后会有相反的情况--将界面与图表联系起来。例如,做一个与时间和价格严格挂钩的按钮。
一个独立的GUI可以在短时间内编写出来--有所有的表格、标签、菜单和口哨。在C#或甚至BASIC中。而在图表内部,对于外部应用来说是一个重大问题。
那么为什么要把界面和图表绑在一起呢?
毕竟,你可以直接从相关函数中获得任何数据,如时间戳和价格。
再读一遍,即你提议存储一个等于像素数组的数组,以便在这个数组中存储信息(在你的案例中,"哪个函数号 "应该被用来处理)。?
如果你问我,我没有建议这样的事情。我根本就没有建议什么))。只是稍微描述了一下我的观点。你可以自由地提出不同意见。
原则上,有可能对类型进行概括。我得出的结论是,如果绝大多数对象的属性都是int类型的,那么就不会发生什么坏事。为了简化,所有其他(图形对象的属性中几乎没有double)的缩写类型我都拒绝了。记忆 "超限 "是如此微不足道,以至于思考它没有意义。当然,我们不能为了专业性而去做这样的亵渎行为)))。但现在是21世纪,我不会受到篝火的威胁)。
我把物体的名称作为数字,并把它们放在物体属性的一般系列中。
我需要不同类型数据的唯一地方是控制参数。我在那里创建了第二个内核,将参数属性和值本身存储为字符串类型,我可以很容易地将其还原为任何东西(更准确地说,是写在参数属性中的东西)。
提示:"控制元素参数 "是指由控制元素管理的参数。事实证明,包含所有控件及其所有属性的全局数组,其维度深度等于所有控件的各种属性之和。也就是说,即使不需要控件的某些属性,这些单元仍然会在这个数组中,因为数组总是统一的。
然而,令人惊讶的是,该阵列本身的均匀性。在这方面,使用结构是比较合理的,因为在这种情况下,每个属性都可以用自己的类型来描述,包括联合。
使用结构确实简化了属性的存储,你不必将自己限制在一种类型,也不必放弃任何东西。你不必处理从字符串到其他数据类型 的转换问题...一个结构从一开始就消除了所有这些限制。
除了属性和坐标本身之外,这个全局数组还应该存储元素的从属关系系统。如果我们绘图中的Caption对象发生了变化,那么按钮也必须重新绘制,因为它们位于标题栏上。因此,如果任何一个 "中间 "控件发生了变化,它上面的所有东西都应该被重新绘制。彼得,你是如何存储对象依赖结构的?事实证明,包含所有控件及其所有属性的全局数组,其维度深度等于所有控件的不同属性之和。也就是说,即使某个元素不需要某些属性,这些单元仍然会在这个数组中,因为数组始终是统一的。
然而,令人惊讶的是,该阵列本身的均匀性。在这方面,使用结构是比较合理的,因为在这种情况下,每个属性都可以用自己的类型来描述,包括联合。
使用结构确实简化了属性的存储,你不必将自己限制在一种类型,也不必放弃任何东西。你不需要处理从字符串到其他数据类型 的转换...一个结构从一开始就消除了所有这些限制。
...彼得,你是如何存储对象依赖结构的?
那么为什么要把界面和图表绑在一起呢?
毕竟,你可以直接检索任何数据,同样的时间戳和价格,从相关功能。
对应用程序界面(用户操作的东西)不限于单一窗口的事实。
我们正在谈论交易,不是吗?
那么,交互式元素在图表上的位置(以及它们的绑定)几乎不可能通过外部手段解决。
同样,外部对话框/表格也很容易绘制。但如果没有终端和具体图表的具体情况,图表内的元素几乎不可能画出来。
核心是矩阵。它包含对象的所有属性。
矩阵是嵌套循环,嵌套循环是时间。我认为,没有讽刺,只是在逻辑上进行推理。
彼得,你会得到以下信息:核心包括元素属性的全局矩阵、元素值的全局矩阵、依赖关系的全局矩阵、图片的全局矩阵......
如果有更多的属性需要添加,那么矩阵的维度就会增加。
因为单元格没有名字,所以属性是严格通过索引访问的。
至少字段名可以用结构来访问。
彼得,你是...巨人...
例如,我是这样看的(简化)。
一个事实上的 "类 "是你的全局数组中的一个特定字符串,只是有一个更 "人性化 "的面孔。类被设计用来创建自己的数据对象,有一组可以理解的属性,可以通过名称而不是索引来访问。一个类只是一个通用的类型构造器。
因此,让我们创建一个基本的控件,它包含最常见的属性,几乎任何控件都有这些属性。
你可以在此基础上创建专门的对象。
也就是说,每个后续的控制类型只是用所需的属性来补充基础类型。
而且,正如我前面所写的,基本属性存储在基础控件中,所以在控件中 "击中 "光标的遍历是通过检查一个数据类型 来完成的: CControl。找到所需的对象后,程序立即可以访问该对象的属性,因为程序点已经在该对象本身,就像在你的循环中,程序在所需的数组行上。