天天看點

建立自定義的右鍵菜單

1.目前的控件的Rect

2.目前事件是滑鼠按下事件,并且是按下的滑鼠右鍵

3.右鍵點選位置在Rect内

1 void MyContexMenu(Rect rect)
 2 {
 3     if(Event.current.type == EventType.MouseDown &&
 4         Event.current.button == 1 &&
 5         rect.Contains(Event.current.mousePosition))
 6     {
 7         GenericMenu menu = new GenericMenu();
 8         menu.AddItem(new GUIContent("Menu 1"), false, callback, null);
 9         menu.AddItem(new GUIContent("Menu 2/Sub Menu 1"), false, callback2);
10         menu.ShowAsContext();
11         Event.current.Use();
12     }
13 }      

public void AddItem(GUIContent content, bool on, MenuFunction func);

public void AddItem(GUIContent content, bool on, MenuFunction2 func, object userData);

參數1:菜單的标題,支援路徑

參數2:如果為true,則菜單名稱前會打勾

參數3:回調方法

參數4:傳遞給回調方法的參數

**注意**

當EventType用ContexClick時,不起作用;

有時不起作用可能是點選事件沒能傳遞下去,被上層的元件使用了目前的滑鼠事件。

藍閃的部落格

http://www.cnblogs.com/stan-si/