-2

新手...我想创建一个动态增长的列表,其中包含点变量、几个 int 变量以及 Argb 的任何颜色变量。

我在 Visual Studio C++ 2010 中做

在程序中处理这些数据的最佳方法是什么?它需要存储用户在屏幕上创建的对象的位置、大小和颜色,以便在刷新表单时将它们绘制回表单。目前我有一个非常好的程序,可以绘制不同颜色的正方形、圆形和线条,我可以移动那个对象,但这只是因为我仍然持有当前的对象/形状数据。

4

1 回答 1

0

创建一个结构或类来保存一个形状的信息,然后使用std::vector来保存它们的列表。

std::vector<Shape> myShapes;

如果您的所有形状都可以用基本相同的数据集来描述,并且某些数据的大小存在一些差异,例如“点变量”的数量随着形状的变化而变化,那么在形状内有一个 std::vector类来保存它们的可变数据,例如:

struct coordinate2D
{
    int x;
    int y;
};

class Shape
{
    coordinate2D position; //the location on the shape
    std::vector<coordinate2D> points; // the coordinates of the vertices that make up this shape.
};

//elsewhere
std::vector<Shape> myShapes;
于 2012-11-07T09:59:45.997 回答