系统.绘图.矩形 找不到"bottom"或"Left"或"Right"或"Top"的属性资源库



在Delphi Prism中,我试图设置矩形属性,左右顶部或底部,编译器一直说它找不到一个setter来为矩形设置这些属性的值。

我看了其他与此相关的stackoverflow问题,并没有找到一个好的答案。

我希望能够设置矩形它是顶部,底部,右侧或左侧的值,能够像下面这样做。

dragRect.right := dragRect.left;
dragRect.bottom := dragRect.top;

显然,你不能这样做。如何在Delphi Prism中实现相同的功能?

正如Hans Passant指出的,理解值类型和引用类型之间的区别是很重要的。因为System.Drawing.Rectangle没有left, top, right或bottom的setter,所以你不能为它们设置任何值,只能读取已经存在的值。它们唯一更新的时间是当你实际创建矩形对象传递高度,宽度和X-Y点或设置矩形属性的X, Y,高度和/或宽度。

因为在我的程序中,我只是试图定义边界或绘制矩形形状的面积,所以我设置了X, Y,宽度或高度。它工作得很好。至于计算矩形的宽度和高度,你不需要一次设置它的宽度和高度。每次重置矩形的X和/或Y值时,它都会保持其宽度和高度。因此,它知道它的右值和底值是什么。

例如,可以这样做:

dragRect.X := 100;
dragRect.width := 10;

但是你不能这样做:

dragRect.left := 100;
dragRect.right :=110;

最新更新