禁用在m文件中制作文档的副本

时间:2018-02-06 05:08:19

标签: windows

我想在用户右键单击m-files中的文档时禁用make a copy选项,直到没有人不能将文档复制到其他类来使用, 有人帮我解决了吗?

1 个答案:

答案 0 :(得分:0)

您可以使用M-Files User Interface Extensibility Framework来实现。

所需的功能是shellFrame.Commands.SetCommandState(9, CommandLocation_All, 3)

  • 第一个参数是命令ID(list of built-in command IDs9BuiltinCommand_MakeCopy
  • 第二个参数定义要设置新命令状态的用户界面部分
  • 第三个参数定义了新状态(3CommandState_Hidden

您将需要使用一些配置文件来设置UI扩展,但是有一个接近您的用例的示例:Alter Context Menu Depending on SelectedObject。在main.js中隐藏上下文菜单选项的代码为:

"use strict";

function OnNewShellUI(shellUI) {
    shellUI.Events.Register(
        Event_NewNormalShellFrame,
        handleNewNormalShellFrame);
}

function handleNewNormalShellFrame(shellFrame) {
    shellFrame.Events.Register(
        Event_Started,
        getShellFrameStartedHandler(shellFrame));
}

function getShellFrameStartedHandler(shellFrame) {
    return function () {
        shellFrame.Commands.SetCommandState(9, CommandLocation_All, 3);
    };
}