zoukankan      html  css  js  c++  java
  • uniGUI之UniPopupMenu和右键菜单(27)

    0]MainModule的BrowserOptions.boDisableMouseRightClick设置为Trure;

     1]控件的OnCellContextClick的事件

     

    procedure TMainForm.UniDBGrid1CellContextClick(Column: TUniDBGridColumn; X,  Y: Integer);
    begin
    UniPopupMenu1.Popup(X, Y, UniDBGrid1);//弹出 右键菜单,绑定UniDBGrid1
    end;

    2]再写菜单事件

    procedure TMainForm.N1Click(Sender: TObject);
    begin
       UniDBGrid1.DataSource.DataSet.Delete;
    end

    uniGUI开发的项目在运行时能否禁用鼠标右键菜单呢?答案是肯定的,因为uniGUI提供了一系列的配置属性让你可以根据需要个性化设置,如此将UniMainModule的BrowserOptions属性的boDisableMouseRightClick设置为true就可以禁用右键菜单,特别简单。但是如此设置后整个页面上的所有控件都看不见右键菜单了,如何只禁用某个控件的右键菜单呢?比如不做全局设置,而是仅仅让UniDBGrid和UniStringGrid控件内不能右键弹出菜单,代码如下:

    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;
  • 相关阅读:
    Java异常面试题
    Quickhit快速击键
    多态and接口
    Java面向对象编程概述
    学生管理系统--分层开发
    类型转换
    文件上传
    ongl(示例3-6 多值类型的数据处理)
    ongl(原始类型和包装类型)
    Interceptor
  • 原文地址:https://www.cnblogs.com/tulater/p/12291726.html
Copyright © 2011-2022 走看看