如何判断鼠标右键按下时,是点击了DBGrid中的标题栏还是数据行,请各位大哥帮帮忙!谢谢!

cherrylin 2004-04-16 03:04:39
实现的功能是:当鼠标右键按在DBGrid的标题栏时弹出一个菜单,当按在数据行时又弹出另一菜单,这个要如何实现?请帮帮忙!
...全文
76 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuangjunx 2004-04-17
  • 打赏
  • 举报
回复
你把楼上两位的SHOWMESSAGE()换成你要弹出的菜单项不就可以了么??
野草飞雪 2004-04-17
  • 打赏
  • 举报
回复
MouseMove
cherrylin 2004-04-17
  • 打赏
  • 举报
回复
up
cherrylin 2004-04-16
  • 打赏
  • 举报
回复
按楼上这样做,当鼠标右键点击有记录的行数时根本无法获得鼠标的位置,我用EDIT查看过,横纵向根本没有值,无法弹出菜单来
hahafan 2004-04-16
  • 打赏
  • 举报
回复
可以使用DBGrid的MouseCoord(X, Y: Integer)函数
再配合DBGrid的OnMouseDown事件来实现这个功能。
swsg 2004-04-16
  • 打赏
  • 举报
回复
你把楼上两位的SHOWMESSAGE()换成你要弹出的菜单项不就可以了么??
cherrylin 2004-04-16
  • 打赏
  • 举报
回复
楼上两位的做法,没有实现我要的功能.
我要的是:直接右键点击标题弹出一个菜单或点击数据行又弹出一个菜单!
哪位大哥帮帮我!
web700 2004-04-16
  • 打赏
  • 举报
回复
楼上的正解

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
showmessage('你按了标题栏') ;
DBGrid1.PopupMenu := PopupMenu1;
end;

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
showmessage('单元格');
DBGrid1.PopupMenu := PopupMenu2;
end;
insert2003 2004-04-16
  • 打赏
  • 举报
回复
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
showmessage('你按了标题栏') ;
DBGrid1.PopupMenu := PopupMenu1;
end;

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
showmessage('单元格');
DBGrid1.PopupMenu := PopupMenu2;
end;
hhzqf1980 2004-04-16
  • 打赏
  • 举报
回复
ONTitleClick

5,930

社区成员

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

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