菜单是否相同?
简单的可以直接 ListBox1 里设置一个 PopupMenu
这样右键就会打开 PopupMenu 控件
复杂一点的话。可以建立一个 TPopupMenu,不指定给 ListBox
然后在 ListBox 鼠标事件中判断是否有选择某一项
varp : TPoint;
begin
if ListBox1ItemIndex <> -1 then
begin
// 取得当前鼠标位置
GetCursorPos(p);
// d出 PopupMenu1
PopupMenu1Popup(pX, pY);
end;
end;
最简单的办法可以在控件的onContextPopup事件中写。
例如可以在button1的onContextPopup事件中写
Button1Click(nil);
这样在button1上点右键的时候就实现了点击左键的效果
复杂一点的可以利用消息机制,获取消息
直接加TMenu属性就行了!或者VCL内部创建TMenu如果你有美化了的第三方控件比如raize那就直接生成那个Menu反正都是从TMenu继承来的(Create) 你想运行时不显示可以用Componentstate=cs我忘了有设计时和运行时的状态! 一般只有运行时显示的,设计时好像被IDE屏蔽了是不能显示菜单的,你看看TMenu的源码吧里面应该有相应的代码控制设计时的行为
以上就是关于DELPHI 我要在一个类似ListBox的控件中对每一行显示的字符都设定一个右键菜单,这个要怎么弄全部的内容,包括:DELPHI 我要在一个类似ListBox的控件中对每一行显示的字符都设定一个右键菜单,这个要怎么弄、delphi如何实现鼠标右键事件变为鼠标左键事件,、delphi 自定义组件中,怎样在VCL模式下,增加右键菜单。而程序编译成功后又不显示。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)