0]MainModule的BrowserOptions.boDisableMouseRightClick設置爲Trure;spa
1]控件的OnCellContextClick的事件code
procedure TMainForm.UniDBGrid1CellContextClick(Column: TUniDBGridColumn; X, Y: Integer); begin UniPopupMenu1.Popup(X, Y, UniDBGrid1);//彈出 右鍵菜單,綁定UniDBGrid1 end;
2]再寫菜單事件orm
procedure TMainForm.N1Click(Sender: TObject); begin UniDBGrid1.DataSource.DataSet.Delete; end;
uniGUI開發的項目在運行時可否禁用鼠標右鍵菜單呢?答案是確定的,由於uniGUI提供了一系列的配置屬性讓你能夠根據須要個性化設置,如此將UniMainModule的BrowserOptions屬性的boDisableMouseRightClick設置爲true就能夠禁用右鍵菜單,特別簡單。可是如此設置後整個頁面上的全部控件都看不見右鍵菜單了,如何只禁用某個控件的右鍵菜單呢?好比不作全局設置,而是僅僅讓UniDBGrid和UniStringGrid控件內不能右鍵彈出菜單,代碼以下:blog
procedure TMainForm.UniFormCreate(Sender: TObject); var IDs: string; begin IDs := UniDBGrid1.JSId + ',' + UniStringGrid1.JSId; UniSession.AddJS('document.oncontextmenu = document.body.oncontextmenu = '+ ' function (e) { var s=true; e.path.forEach(function(el){'+ ' if(el.id!="" && "'+ IDs +'".includes(el.id)){s=false}'+ ' });'+ 'return s}'); end;