gpt4 book ai didi

delphi - 找出 TGridPanel 中控件的位置

转载 作者:行者123 更新时间:2023-12-03 15:51:13 28 4
gpt4 key购买 nike

如何找出 TGridPanel 内控件的位置(行和列索引)?我想对按钮数量使用常见的 OnClick 事件,并且需要知道按钮的 X、Y 位置。

我使用的是 Delphi 2007。

最佳答案

不幸的是,由于TGridPanel 的魔力,它比仅仅获取 Top 和 Left 属性要复杂一些......

这应该适用于任何控件,请根据您的需要进行调整:

procedure GetRowColumn(const AControl: TControl; var ARow, AColumn: Integer);
var
I: Integer;
begin
if AControl.Parent is TGridPanel then
begin
I := TGridPanel(AControl.Parent).ControlCollection.IndexOf(AControl);
if I > -1 then
begin
ARow := TGridPanel(AControl.Parent).ControlCollection[I].Row;
AColumn := TGridPanel(AControl.Parent).ControlCollection[I].Column;
end;
end;
end;

procedure TForm1.ButtonClick(Sender: TObject);
var
Row, Column : Integer;
begin
GetRowColumn(Sender as TControl, Row, Column);
// do something with Row and Column
ShowMessage( Format('row=%d - col=%d',[Row, Column]));
end;

关于delphi - 找出 TGridPanel 中控件的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1405106/

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