【问题标题】:Simple way to replace context menu替换上下文菜单的简单方法
【发布时间】:2017-02-26 07:51:30
【问题描述】:

选择对象时如何替换上下文菜单?

目前我正在尝试基于 API 和 Philippe Leefsma 的 Autodesk.ADN.Viewing.Extension.ContextMenu.js 示例。

var contextMenu = new Autodesk.Viewing.UI.ObjectContextMenu(viewer);

contextMenu.buildMenu(Autodesk.Viewing.AGGREGATE_SELECTION_CHANGED_EVENT, [{ title: 'This is a menu item', target: function () { alert('Menu item clicked'); } }]);

viewer.setContextMenu(contextMenu);    

【问题讨论】:

  • 您能否更具体地说明“替换”的含义...?您想自己替换菜单项,添加更多选项,替换上下文菜单本身...
  • 我想用我自己的替换菜单项。我可以使用 registerContextMenuCallback 附加菜单,但无法删除预设的上下文菜单项。

标签: autodesk-forge autodesk-viewer


【解决方案1】:

用您自己的菜单项替换所有菜单项应该非常简单......查看there以获取完整示例

Autodesk.ADN.Viewing.Extension.AdnContextMenu.prototype.buildMenu =

      function (event, status) {

          //completely disable native menu 
          //var menu =  Autodesk.Viewing.Extensions.ViewerObjectContextMenu.prototype.buildMenu.call(this, event, status);

          //and sneak your own ...
          var menu = []

          menu.push({
            title: "Dude menu item",
            target: function () {
                alert('Dude I was clicked!');
            }
          })

          return menu;
      };

【讨论】:

  • 您能否接受作为解决方案或提及该答案如何无法满足您的需求?当我们和其他程序员实际解决问题时,将答案标记为“解决方案”非常重要。谢谢
猜你喜欢
  • 2011-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-26
  • 1970-01-01
  • 2021-03-03
  • 1970-01-01
  • 2011-10-12
相关资源
最近更新 更多