Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 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;
				}
			}
        }
    }
}

Старый 28.08.2007, 17:24
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Код:
private function punkt(event:ContextMenuEvent):void {
	var item:ContextMenuItem=event.target as ContextMenuItem;
	for(var i:Number=0; i<menuItemArray.length; i++){	
		if(menuItemArray[i]==item){
			Status=i;
			menuItemArray[i].enabled=false;
		}else{
			menuItemArray[i].enabled=true;
		}
	}
	trace( "Status : " + Status );
}

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

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

Создать новую тему Ответ Часовой пояс GMT +4, время: 13:38.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 13:38.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.