3

无论如何要确定当前在 multi-select 中选择了哪些行TStringGrid,或者TCustomGrid就此而言。一个属性将是理想的。

我知道在事件中gdSelected设置了属性,DrawCell

procedure DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState);

我可以检查AStategdSelected并在某处的数组中跟踪它,但这似乎很笨拙。

4

3 回答 3

4

我猜您说的是范围选择字符串网格,即带有goRangeSelectin的字符串网格Options。然后,您可以使用该 Selection属性。这(本质上)是一个TRect,您可以在其中找到范围选择中的左上角和右下角单元格。

于 2011-05-10T13:43:08.440 回答
1

哦,我StringGrid.Selection.BottomRight.Y用来确定行和StringGrid.Selection.BottomRight.X列。

于 2012-05-25T20:05:50.203 回答
0

使用字符串网格选择属性StringGrid.Selection.top将为您提供顶部选定的行,StringGrid.Selection.bottom将为您提供结束选定的行,选择停止的位置。

例子:

如果您在字符串网格中从第 3 行到第 6 行进行选择,StringGrid.Selection.top则将给您 3 作为输出值StringGrid.Selection.bottom,将给您 6 作为输出值,其余值可以通过从上到下迭代获得。

于 2016-01-22T07:54:02.337 回答