首页 > 其他分享 >ContextMenuItem, ContextMenu, MenuItem区别与联系

ContextMenuItem, ContextMenu, MenuItem区别与联系

时间:2023-07-30 23:23:01浏览次数:40  
标签:Count 菜单 ContextMenu static ContextMenuItem MenuItem public

ContextMenuItem

用于给成员变量增加右键菜单

加在成员变量上,在成员变量上右键弹出右键菜单,对应的菜单函数只能是成员函数,不能是static函数

public class TestContextMenu : MonoBehaviour
{
    [ContextMenuItem("Reset Count", "CtxtMenuItem_ResetCount")]
    public int m_Count;

#if UNITY_EDITOR

    private void CtxtMenuItem_ResetCount()
    {
        m_Count = 0;
    }

#endif

}

 

ContextMenu

用于扩展自定组件的Script右键菜单

只能加在成员函数上,加在static函数上没效果

using UnityEngine;

public class TestContextMenu : MonoBehaviour
{
    public int m_Count;

#if UNITY_EDITOR

    [ContextMenu("Another Reset Count")]
    private void CtxtMenu_PrintCount()
    {
        Debug.Log($"m_Count: {m_Count}");
    }

#endif

}

 

MenuItem

a) 用于扩展内置组件的Script右键菜单

using UnityEditor;
using UnityEngine;

public static class TestMenuItem
{

    [MenuItem("CONTEXT/Transform/Copy Position")]
    static void MenuItem_CopyPosition()
    {
        if (null == Selection.activeTransform) return;
        Vector3 pos = Selection.activeTransform.position;
        Debug.Log($"拷贝的Position为: ({pos.x}, {pos.y}, {pos.z})");
    }

}

 

b) 用于扩展菜单栏菜单

using UnityEditor;
using UnityEngine;

public static class TestMenuItem
{

    [MenuItem("MyTools/Print Hello")]
    static void MenuItem_PrintHello()
    {
        Debug.Log($"Hello");
    }

}

 

 

参考

ContextMenu和ContextMenuItem_三分明月墨的博客-CSDN博客

Unity ContextMenu 扩展组件的环境菜单(在 Inspector 视图组件名称上的右击下拉菜单) - kingBook - 博客园 (cnblogs.com)

 

标签:Count,菜单,ContextMenu,static,ContextMenuItem,MenuItem,public
From: https://www.cnblogs.com/sailJs/p/17527863.html

相关文章

  • 2023-7-27WPF的ContextMenu的传参绑定方式
    WPF的ContextMenu的绑定方式【作者】长生ContextMenu为何不能正常绑定在wpf中ContextMenu和ToolTip一样都是弹出层,与VisualTree已经分离了,只不过ToolTip在wpf中有进行特殊处理,所以可以正常绑定。个人觉得ContextMenu绑定的最可靠的方式首先添加BindingProxy类,继承Freezab......
  • 用vue-contextmenujs进行右键菜单的操作
    1.安装依赖npminstallvue-contextmenujs2.引用在main.js中importContextmenufrom"vue-contextmenujs"Vue.use(Contextmenu);3.使用示例我是在elementui表格中使用的<template>....<el-table.....    @row-contextmenu="onContextmenu"&......
  • 如何在tree中添加一个 contextmenu 事件!
    关键点就是TreeList上下文中要有这个被包装了的handleContextMenu定义TreeList时,继承了一些东西,还可以重写一些东西。 本例中,TreeList上下文捕获到右键菜单事件后,将该事件传递给了自定义的函数itemcontextmenu1对应的函数应该returnfalse来阻止默认菜单的行为。在函......
  • 如何在tree中添加一个 contextmenu 事件?
     /***添加绑定事件*<pre><code>*//绑定单个事件*list.on('itemclick',function(ev){*alert('21');*});*//绑定多个事件*list.on('itemrendereditemupdated',function(......
  • 如何使用CheckMenuItem添加可选菜单项
    如何使用CheckMenuItem添加可选菜单项CheckMenuItem也是一种菜单项目,类似CheckBox,拥有可选状态。CheckMenuItem可以添加到菜单中。效果展示示例代码importjavafx.application.Application;importjavafx.scene.Scene;importjavafx.scene.control.CheckMenuItem;imp......
  • 如何使用RadioMenuItem添加单选菜单项
    如何使用RadioMenuItem添加单选菜单项几个RadioMenuItem可以组成一个组合,组合中只能有一个菜单条目被选择。效果展示示例代码importjavafx.application.Application;importjavafx.scene.Scene;importjavafx.scene.control.Menu;importjavafx.scene.control.MenuBar;......
  • FLEX实践—动态控制MenuItem是否可用
    设计思路:利用<mx:menuitem></mx:menuitem>中的enabled属性控制指定的菜单项是否可用。由于需要动态设置,因此设置对应的全局变量与该属性进行绑定(即添加[Bindable]标签) 代码:<?xmlversion="1.0"encoding="utf-8"?><mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"......
  • C# 窗体控件ContextMenuStrip下拉项之间的分割线
    1.效果如图: 2.选中ContextMenuStrip控件,在Items属性中添加Separator 3. (其中第3,4步,通过上下箭头,摆置好你要分割的位置)原文链接......
  • 让ListView中有些长按时能弹出contextMenu,有些不能。
    android开发的时候,定义了一个listView,并为他设置了setOnCreateContextMenuListener的监听,但是这样做只能使这个listView中的所有项在长按的时候弹出contextMenu。我希望的是有些长按时能弹出contextMenu,有些不能。解决这个问题的办法是为这个listView设置s......
  • 通过MenuItem在场景中生成GameObject
    MenuItemAttribute允许你在主菜单中添加新的选项。而这个菜单选项来自于一个静态函数。publicclassTestMenuItem{//Createsanewmenuitem'Examples>CreatePrefab'inthemainmenu.[MenuItem("TestMenuItem/CreatePrefab")]staticvoidCreatePrefa......