Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm Delphi编程算法,找到下一个绘制元件的点_Algorithm_Delphi_Draw - Fatal编程技术网

Algorithm Delphi编程算法,找到下一个绘制元件的点

Algorithm Delphi编程算法,找到下一个绘制元件的点,algorithm,delphi,draw,Algorithm,Delphi,Draw,大家好 我正在开发一个以“图形化”方式类似于仓库的程序。 表示非常基本,我使用: 1.TGroupBox(作为父容器) 2.TPanel(作为“仓库”中的货架)又名父容器 我需要帮助的挑战。 如果我有两个或更多的组框要动态绘制。 如何确定开始绘图的下一个点。 到目前为止,我的代码只在2个GroupBox上运行良好,但我需要一个智能算法或方法来计算画布上的下一个点以绘制仓库 我确信我可以通过逐像素扫描并检查其他组件来做到这一点,但必须有一个更聪明的算法来提供帮助:) 还要记住,分组框可以是矩形,也

大家好

我正在开发一个以“图形化”方式类似于仓库的程序。 表示非常基本,我使用: 1.TGroupBox(作为父容器) 2.TPanel(作为“仓库”中的货架)又名父容器

我需要帮助的挑战。 如果我有两个或更多的组框要动态绘制。 如何确定开始绘图的下一个点。 到目前为止,我的代码只在2个GroupBox上运行良好,但我需要一个智能算法或方法来计算画布上的下一个点以绘制仓库

我确信我可以通过逐像素扫描并检查其他组件来做到这一点,但必须有一个更聪明的算法来提供帮助:)

还要记住,分组框可以是矩形,也可以是正方形。IOW:高度和宽度可以不同

我该怎么做

EDIT1:
对不起,我可能没有解释。我不是自己画的。只是在代码中创建它们并动态定位它们。不幸的是,我不能发布照片,因为声誉点太低。我会尽量解释得更好。假设我有3个仓库。仓库1包含2行3列(货架)。仓库2包含20行5列。我已经在代码中创建了仓库1(Groupbox组件),将其定位在父控件上的点0,0处。现在可以在仓库1的右侧或底部创建仓库2。这取决于家长可利用的开放空间中最有意义的(屏幕房地产)。对于Warehouse 3,我如何在代码中确定将其放置在父容器上的位置?位置很明显,我不能总是假设把下一个仓库画到上一个仓库的底部。例如,前一个仓库可能只包含一排和一个架子,这将使其尺寸非常小,因此将下一个仓库绘制到其右侧是有意义的。但若前一个仓库的宽度很大,那个么将下一个仓库画到底部是有意义的


如果你找不到任何好的答案,我想你可以研究一下“切割列表”算法。看看。

等等,如果你正在使用
TGroupBox
,为什么你要自己画呢?另外,我无法想象你到底想怎么画,想画什么(一张图片就好了)。对不起,我的解释可能不够。您好,也许这会有帮助:可能是