Показать сообщение отдельно
Старый 28.08.2007, 16:11
klafuda_klalafu вне форума Посмотреть профиль Отправить личное сообщение для klafuda_klalafu Найти все сообщения от klafuda_klalafu
  № 1  
Ответить с цитированием
klafuda_klalafu

Регистрация: Aug 2004
Адрес: N. Novgorod
Сообщений: 127
Отправить сообщение для klafuda_klalafu с помощью ICQ
По умолчанию Умное Контектсное меню!

Хочу сделать "умное" контекстное меню.
как отследить какой пункт контекстного меню был выбран пользователем?

Код:
package {
    import flash.ui.*;
    import flash.events.*;
    import flash.display.*;

    public class ContextMenuEventExample extends Sprite {
        public var myContextMenu:ContextMenu;
		public var ItemArray:Array;
		public var menuItemArray:Array;
		public var Status:Number;
		
        public function ContextMenuEventExample() {
            Status = 0;
			ItemArray = new Array("test0","test1","test2");
			menuItemArray  = new Array();
			
			
			
			myContextMenu = new ContextMenu();
            myContextMenu.hideBuiltInItems();
			for(var i:Number=0; i<ItemArray.length; i++){
				
				menuItemArray[i] = new ContextMenuItem(ItemArray[i]);
				if(i == Status){
					menuItemArray[i].enabled = false;
				}
				menuItemArray[i].addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, punkt);						
			
				myContextMenu.customItems.push(menuItemArray[i]);
			}
			contextMenu = myContextMenu;
        }		
		
        private function punkt(event:ContextMenuEvent):void {
						
			//ВНИМАНИЕ!!!!
			//как мне тут поменять переменную Status что бы она была равна выбраному пункту контекстного меню?
			Status = 1;		
			//====================================
			for(var i:Number=0; i<menuItemArray.length; i++){
				if(i == Status){
					menuItemArray[i].enabled = false;
				}
				else{
					menuItemArray[i].enabled = true;
				}
			}
        }
    }
}