当双击StringGrid中的一条记录,弹出一窗口。但是选中这一行,在StringGrid的其他地方双击同样能够弹出窗口。 当双击StringGrid中的一条记录,弹出一窗口。但是选中这一行,在StringGrid的其他地方双击同样能够弹出窗口。我该怎样做?只在选中的记录上双击能够弹出窗口。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在OnMouseDown事件中调用MouseToCell(X, Y: Integer; var ACol, ARow: Longint);方法,这个方法告诉你鼠标当前对应的行和列 //StringGrid1.Options := StringGrid1.Options + [goRowSelect];procedure TForm1.StringGrid1DblClick(Sender: TObject);var vPoint: TPoint;begin GetCursorPos(vPoint); vPoint := TStringGrid(Sender).ScreenToClient(vPoint); TStringGrid(Sender).MouseToCell(vPoint.X, vPoint.Y, vPoint.X, vPoint.Y); if vPoint.X < TStringGrid(Sender).FixedCols then Exit; if vPoint.Y < TStringGrid(Sender).FixedRows then Exit; { TODO : 双击一行 }end; delphi怎么和jabber(xmpp)协议通信呢? 两个时钟分别起效,可以多线程吗? 大家谁参加过delphi的等级考试?这个考试都考些什么内容?用什么教材呢? 怎样将VB将的ActiveXDLL转化为Delphi的DLL DELPHI为什么会自动退出? 怎样使datagrid当前行整行带颜色,在线给分。。。。 交熟悉ERwin的朋友 我想问:怎么样把结构体变量放到buffer中去? 使用SPCOMM控件遇到的问题 事关我的方向,请帮忙 如果获得其他进程的启动命令参数(其他程序已经运行了的) delphi的定时器制作计划任务不准确
var
vPoint: TPoint;
begin
GetCursorPos(vPoint);
vPoint := TStringGrid(Sender).ScreenToClient(vPoint);
TStringGrid(Sender).MouseToCell(vPoint.X, vPoint.Y, vPoint.X, vPoint.Y);
if vPoint.X < TStringGrid(Sender).FixedCols then Exit;
if vPoint.Y < TStringGrid(Sender).FixedRows then Exit;
{ TODO : 双击一行 }
end;