與菜單相關(guān)的類(lèi)一共有3個(gè)
ContextMenu類(lèi)
ContextMenuBuiltInItems類(lèi)
ContextMenuItem類(lèi)
flashcs3 新建一個(gè)元件,隨便畫(huà)個(gè)什么圖形。
吧元件拖動(dòng)到舞臺上,名稱(chēng)改為mc
然后復制我下面的代碼到主時(shí)間軸第一偵
var cm:ContextMenu=new ContextMenu();
//定義CM對象,賦值給可視元件.
//而后的代碼中,會(huì )對cm的屬性進(jìn)行修改。達到自定義的效果
//那么就會(huì )分別對●內置菜單 ●用戶(hù)菜單 進(jìn)行修改
mc.contextMenu=cm;
//當然你也可以賦值給舞臺。如下語(yǔ)句
//contextMenu=cm;
/////////////編輯內置菜單////////////////////////////////////////
cm.hideBuiltInItems();
////////////////////////////////////////////////////////////////////
////////////編輯用戶(hù)菜單////////////////////////////////////////
var cm1:ContextMenuItem=new ContextMenuItem("菜單1",false,true,true);
var cm2:ContextMenuItem=new ContextMenuItem("菜單2",false,true,true);
var cm3:ContextMenuItem=new ContextMenuItem("菜單3",false,false,true);
cm.customItems.push(cm1);//標題名字,分割線(xiàn),可用,可見(jiàn)
cm.customItems.push(cm2);
cm.customItems.push(cm3);
////////////注意自定義菜單是可以在運行中動(dòng)態(tài)修改的??磦€(gè)人發(fā)揮了////////////
//////////////////////////偵聽(tīng)事件函數////////////////////////
//注意偵聽(tīng)的對象是ContextMenuItem,還有個(gè)MENU_SELECT事件的監聽(tīng),注意那個(gè)是用在ContextMenu 上的
//在下面依次對cm1,cm2,cm3,三個(gè)ContextMenuItem對象添加偵聽(tīng)。
cm1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,clickMenu);
cm2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,clickMenu);
cm3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,clickMenu);
function clickMenu(e:ContextMenuEvent) {
trace(e.bubbles);//false,是否冒泡
trace(e.cancelable);//false,是否能取消
trace(e.contextMenuOwner);//[object MovieClip],所屬的對象
trace(e.currentTarget);//[object ContextMenuItem],
trace(e.mouseTarget);//[object MovieClip],用戶(hù)右鍵單擊以顯示上下文菜單的顯示列表對象。
trace(e.target);//[object ContextMenuItem]
trace(e.target.caption);//菜單1,可以從這里來(lái)判斷,后續操作或者應該執行的函數。
trace(e.currentTarget.caption);//菜單1
}
聯(lián)系客服