0]MainModule的BrowserOptions.boDisableMouseRightClick设置为Trure;
1]控件的OnCellContextClick的事件
procedure TMainForm.UniDBGrid1CellContextClick(Column: TUniDBGridColumn; X, Y: Integer); begin UniPopupMenu1.Popup(X, Y, UniDBGrid1);//弹出 右键菜单,绑定UniDBGrid1 end;
procedure TMainForm.UniContainerPanel2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if Button = mbRight then begin LastX := X; LastY := Y; UniPopupMenu1.Popup(X, Y, UniContainerPanel2); //X,Y为坐标 end; end;
2]再写菜单事件
procedure TMainForm.N1Click(Sender: TObject); begin UniDBGrid1.DataSource.DataSet.Delete; end;
uniGUI开发的项目在运行时能否禁用鼠标右键菜单呢?答案是肯定的,因为uniGUI提供了一系列的配置属性让你可以根据需要个性化设置,如此将UniMainModule的BrowserOptions属性的boDisableMouseRightClick设置为true就可以禁用右键菜单,特别简单。但是如此设置后整个页面上的所有控件都看不见右键菜单了,如何只禁用某个控件的右键菜单呢?比如不做全局设置,而是仅仅让UniTreeView1控件内不能右键弹出菜单,代码如下:
procedure TMainForm.UniFormAfterShow(Sender: TObject); begin UniSession.AddJS( UniTreeView1.JSId+'.addEventListener("contextmenu", e => e.preventDefault())' ); end;
禁止的右键菜单是这个
不包括UniPopupMenu1
分类:
UniGui学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律