gpt4 book ai didi

delphi - 在Delphi中,TDBGrid上单击的标题的含义是什么?

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

我想确定在TDBGrid事件TitleClick(Column:TColumn)上单击的Title单元的屏幕坐标。

我可以使用ColWidths属性(通过TDBGrid = class(DBGrids.TDBGrid)类型声明公开),但是在确定列是否已由用户重新排序以及TDBGrid的水平滚动方面,我遇到了困难。我还要跟踪此列在后续移动和调整大小时的位置,并注意该列有可能可以从网格中滚动出来。

我已经在这个问题上花了很长时间,而且我对Delphi也很擅长,所以这不是一个闲聊的问题。

最佳答案

使用How do I get screen coordinates of the DBGrid cell中的技巧,我写道:

type
...
THackedGrid = class(TDBGrid);
...
implementation
...
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
var
currRow : Integer;
rect : TRect;
begin
currRow := THackedGrid(DBGrid1).Row;
rect := THackedGrid(DBGrid1).CellRect(Column.Index+1,currRow);
end;


这是你想要的吗? rect中的坐标是相对于网格的。

关于delphi - 在Delphi中,TDBGrid上单击的标题的含义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11597536/

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