delphi – 与Firemonkey MouseToCell等效

delphi – 与Firemonkey MouseToCell等效,第1张

概述在Delphi VCL中如果我想查看我的鼠标悬停在TStringGrid的哪个单元格(列和行),我会使用MouseToCell.对于FireMonkey应用程序,此方法不再适用于Delphi(XE2).有谁知道我怎么能确定我的鼠标结束的细胞? OnMouseMove有X& Y值但这些是屏幕坐标而不是单元格坐标. 非常感谢. 在TCustomGrid中实际上有一个MouseToCell方法,Stri 在Delphi VCL中如果我想查看我的鼠标悬停在TStringGrID的哪个单元格(列和行),我会使用MousetoCell.对于FireMonkey应用程序,此方法不再适用于Delphi(XE2).有谁知道我怎么能确定我的鼠标结束的细胞? OnMouseMove有X& Y值但这些是屏幕坐标而不是单元格坐标.

非常感谢.

解决方法 在TCustomGrID中实际上有一个MousetoCell方法,StringGrID下降,但它是私有的.从它的来源来看,它使用了ColumnByPoint和RowByPoint方法,幸运的是它们是公开的.

‘column’返回TColumn,如果没有列,则返回nil. ‘row’返回一个正整数,或者当没有行时返回-1.此外,第一行不关心行数,它只考虑行高并基于此返回行号,即使没有行.此外,我应该注意,网格标题上的行为是错误的.无论如何,示例示例可能如下:

procedure TForm1.StringGrID1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Single);var  Col: TColumn;  C,R: Integer;begin  Col := StringGrID1.ColumnByPoint(X,Y);  if Assigned(Col) then    C := Col.Index  else    C := -1;  R := StringGrID1.RowByPoint(X,Y);  Caption := Format('Col:%d Row:%d',[C,R]);end;
总结

以上是内存溢出为你收集整理的delphi – 与Firemonkey MouseToCell等效全部内容,希望文章能够帮你解决delphi – 与Firemonkey MouseToCell等效所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1268094.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存