从头开始创建一个图形库 - 页 15

 
否则就很好,继续保持。
 
对你来说,在kanvas上创建控件是非常容易的。

1.从kanvas类中取出几个绘图功能,即垂直线、山形线。 矩形、填充矩形、文本。

2.为了绘制每个元素,写一个函数: void Button(), void Checkbox()...等。

3.在绘图元素的功能中,你包括对绘图函数(直线、矩形)的调用集,用它在所需的画布上 "绘制 "所需的控制结构。

4.每个创建的元素的一个实例应该被绑定到其窗口。

5.每个创建的实例的属性(文本X、Y、X_SIZE、Y_SIZE...)应保存在一个数组或结构中,以便其他函数读取/改变它们。

然后你将遵循同样的道路....)

请注意,这一切都是在画布上进行的。

 
如果你需要其他可能在主背景上绘制的物体下面的物体怎么办?
 
Aliaksandr Hryshyn:
如果你需要其他对象,可以在主背景上绘制的对象下面,怎么办?
举个例子。有许多不同的情况,有不同的解决方案。
 
Реter Konow:
给我一个例子。有许多不同的情况,有不同的解决方案。

在我的情况下,一块帆布可能就足够了,我想我会按照你的建议做。

特别是由于已经有了对kanvas的最小支持
 
每个窗口都是一个单独的、独立的画布。

创建一个窗口和其他元素一样简单。

1.该窗口具有几个规则矩形的简单基本属性,通过调用FilledRectangle()函数(来自CCanvas类)并向其传递模板或可用的值,在创建的画布上持续绘制。

2. 窗口在其元素之前被绘制。这是用特殊函数Draw_window(x, y, w, h)完成的;例如,它调用FilledRectangle()所需的次数来建立窗口结构。

3.然后,调用函数来绘制控件。每个人的构造都类似于一个窗口,每次都画出 一系列的矩形 和框架。

4.由函数调用创建的每个元素的每个实例的属性被写入其他函数可用的任何内存选项,其中。

一个捕捉发现光标在所画元素坐标上方的事件的函数,在每次光标移动事件中,都会对该窗口中所有被画和被绘制的元素的坐标进行循环,并找到其正下方的元素。

一个函数可以固定光标下的元素的按下/重按事件,并通过调用另一个函数来切换其状态(如果它是交互式的),从而改变该元素的参数值(颜色、图标...)并再次重绘。

首先,这就足够了。

 
Roman:

对于HFT, 我认为3D将有助于创建一个杯子体积和订单流的图形分析。
但如何解释这样的信息,我还没有深入研究过。

哪里有卖?

 
有几个类别的控制,其中我们可以区分两个主要类别。

1.装饰性 - 线条、框架、矩形、图标...。

2."参数化" - 即有一个参数。

第二类由两个子类别代表。

1.输入元素--提供了用为不同类型的参数设计的图形 "机制 "改变数值的可能性。这些元素分为几组,例如,逻辑状态真/假(bool)设置了按钮、复选框和单选按钮,参数值与范围和步长的界限由滑块或输入框 控制。对于每种类型的参数,都有几个相同类型的元素,允许以类似的方式改变其值。

2.输出元素 - 它们将数值转化为数字、文本或其他图形转换形式。这些包括:表格单元、文本标签、进度条。指标和图表也属于这一类,它们的区别只是对大量输出数据的适应性。


正如我前面所说,绘制元素是简单而不复杂的。事实上,这只是一个用数值标记数组的问题。所有的功能都在CCanvas类中--线条、矩形、框架。这些函数只需要传递数组,然后将其存储在资源中并使用OBJPROP_BMPFILE属性连接到BITMAP_LABEL对象。

这个类的包装物像狗的第五条腿一样让我感到不安。(这一定是为什么从来没有人在帆布上创建图书馆,因为他们从上面被告知:"你必须只用马鞍来骑牛!")。;)).