高手们,快来啊

bullHEcow 2003-08-03 11:29:43
我用c++builder中的DBGrid控件显示数据
现在我想有点击右建 进行操作
当点击不同的区域时(比如 title,column cell 这两个不同的区域)想弹出不同的PopMenue 该如何解决
在线等待
...全文
27 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangchun_xn 2003-08-04
  • 打赏
  • 举报
回复
判断之后直接修改PopupMenu=...
bullHEcow 2003-08-04
  • 打赏
  • 举报
回复
好像不行


而且PopMenue出来的位置也不对


大侠们快上
Dala 2003-08-03
  • 打赏
  • 举报
回复
其实可以在OnPupup事件里根据鼠标点击的位置(用MouseCoord可以获得所指CELL的行列号)控制一个popupmenu各菜单项的Visible属性.
nuaacims 2003-08-03
  • 打赏
  • 举报
回复
你想要的就是右键点击DBGrid的数据区和非数据区有不同的反应嘛
在MouseDown事件里判断:
TGridCoord gc;
gc=DBGrid1->MouseCoord(X,Y);
if (gc.X && gc.Y)
//数据区;
else
//非数据区;
bullHEcow 2003-08-03
  • 打赏
  • 举报
回复
大家能不能说清楚一点

快上啊
Siney 2003-08-03
  • 打赏
  • 举报
回复
你可以先得到当前鼠标的位置,例如
OnMouseDown

{
if(Button ==mbRight)
{
TPoint pt(X,Y);
if (Y<column.height)
{
::ScreenToClent(DBGrid1->Handle,&pt);
memu.popup(pt.x,pt.y);
}

类似于上面的代码,你可以先判断鼠标的位置再弹出菜单。

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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