求教: 在TDBGrid上,如何捕捉鼠标的左键和右键事件?

zllzmcDCR 2004-08-16 10:47:11
我想在TDBGrid上区分鼠标的左右键事件,并且有不同的响应,该怎么作呢??
...全文
150 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kaguo 2004-08-17
  • 打赏
  • 举报
回复
在TDBGrid的网格区域,比如点击鼠标左键的时候,需要选中DBGrid的一行,
dgRowSelect设置True
如果是点击右键的话,选中的是一列,并且有右键菜单弹出。

dbgrid1.PopupMenu 直接设置上不就得了
zllzmcDCR 2004-08-17
  • 打赏
  • 举报
回复
在TDBGrid的网格区域,比如点击鼠标左键的时候,需要选中DBGrid的一行,如果是点击右键的话,选中的是一列,并且有右键菜单弹出。
xixuemao 2004-08-17
  • 打赏
  • 举报
回复
好像没问清楚,在哪里相应鼠标的事件啊?
cg2003 2004-08-17
  • 打赏
  • 举报
回复
up
kaguo 2004-08-17
  • 打赏
  • 举报
回复
sorry 选中的是一列这个我真没看到
DBGrid似乎没有选中一整列的形式...
zllzmcDCR 2004-08-17
  • 打赏
  • 举报
回复
注意: 我说的是“如果是点击右键的话,选中的是一列,并且有右键菜单弹出。
”,楼上所述,只能选中一个“Cell”,而且如果把“dgRowSelect设置True”,每次不论点击哪一个column ,所返回的“selectedField”都是columns中的第一个Field,达不到程序的要求。
linzhengqun 2004-08-16
  • 打赏
  • 举报
回复
这上事件,不过是对整个DBGrid的
procedure TForm1.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button=mbLeft then
showmessage('左键')
else if Button=mbRight then
showmessage('右键');
end;

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧