gpt4 book ai didi

delphi - 使用delphi在TStringGrid中通过鼠标单击删除选定的行

转载 作者:行者123 更新时间:2023-12-03 19:07:37 33 4
gpt4 key购买 nike

我不确定如何捕获鼠标单击选择的行,然后按一个按钮以删除delphi的stringGrid中的所选行。

procedure DeleteRow(Grid: TStringGrid; ARow: Integer);
var
i: Integer;
begin
for i := ARow to Grid.RowCount - 2 do
Grid.Rows[i].Assign(Grid.Rows[i + 1]);
Grid.RowCount := Grid.RowCount - 1;
end;

procedure TManageUsersForm.RemoveRowButtonClick(Sender: TObject);
var
Recordposition : integer;
begin
UserStringGrid.Options := UserStringGrid.Options + [goEditing];
UserStringGrid.Options := UserStringGrid.Options + [goRowSelect];
end;


因此,第一个过程是删除行,第二个过程是确保当用户单击一个单元格时,整个行都将突出显示,而不仅仅是那个单元格。

鼠标单击是最重要的部分!

谢谢 :)

最佳答案

鼠标单击不是最重要的部分。用户可以通过键盘或鼠标选择一行,没关系,您只想删除当前行。如果单击鼠标,否则可以通过Row获得当前行。

procedure DeleteCurrentRow(Grid: TStringGrid);
var
i: Integer;
begin
for i := Grid.Row to Grid.RowCount - 2 do
Grid.Rows[i].Assign(Grid.Rows[i + 1]);
Grid.RowCount := Grid.RowCount - 1;
end;


称它为

DeleteCurrentRow(UserStringGrid);

关于delphi - 使用delphi在TStringGrid中通过鼠标单击删除选定的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27217674/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com