永发信息网

delphi中 DBGrid显示数据库内容,使用MouseCoord(X,Y)获取鼠标指向的是第几条记录

答案:1  悬赏:60  手机版
解决时间 2021-11-14 17:51
delphi中 DBGrid显示数据库内容,使用MouseCoord(X,Y)获取鼠标指向的是第几条记录
最佳答案
比较麻烦,目前想到一个笨办法。
{
显示DBGrid中鼠标指向的记录号
by 宋银海

}

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, DBTables;
type
TForm1 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
private
{ Private declarations }
FDBRow:Integer;
FDBCurrentRec:Integer;
public
{ Public declarations }
published
property DBRow: Integer read FDBRow write FDBRow;
property DBCurrentRec: Integer read FDBCurrentRec write FDBCurrentRec;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if not Table1.Active then
Table1.Open;
end;

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
DBRow:=(Rect.Bottom-DBGrid1.Top+1) div (Rect.Bottom-Rect.Top+1);
DBCurrentRec:=DBGrid1.DataSource.DataSet.RecNo;
end;

procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
pt:TGridCoord;
begin
pt:=(Sender as TDBGrid).MouseCoord(x,y); //获取DBGrid中的坐标
Caption:='鼠标指向记录号是 '+IntTostr(DBCurrentRec+pt.Y-DBRow);
end;

end.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
下坝村地址在什么地方,想过去办事,
以下句子用英语怎么说,对于一年级小孩的指令
“五黄”是啥意思,后来明白了,七次总决赛,
睢宁哪个车站可以到青岛?一天哪几班车?需要
道士是否必须要背诵经文呢(比如太上玄门早晚
我这种眉毛是什么型眉啊,求解~从来没修过,
如果我上大学纯粹是为了追求知识与,这种态度
经常下载和删除文件 伤硬盘吗?
1.2:0.75化成最简整数比是多少?比值是多少?
电脑开机出现蓝屏代码0×000000ED怎样解决?
这个男生如何?
新驰达汽车销售服务有限公司地址有知道的么?
四五十块床垫是什么材料吗
睿凡教育怎么样啊?
承包80人食堂怎么有赚头?一个月需要多少资金
推荐资讯
国考报名第八天,近70万人报名,今年能突破20
挥手过往把一切埋葬 爱随风情情殇不愿想终未
特步衣服尺码
东莞南栅五区康美特电子厂
文章是游古漪园
新人选车纠结中 新福克斯跟标致408
怎样查三星手机的版本?
脸上长斑按什么穴
赵姓在日本是什么姓氏
《醉梦离心》 醉卧青纱帐, 梦醒温柔乡。 离
有没有谦迷告诉我薛之谦在中国新歌声里唱你还
事业单位的事业收入 经营收入与附属单位缴款
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?