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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.02.2010, 14:09
litebox вне форума Посмотреть профиль Отправить личное сообщение для litebox Найти все сообщения от litebox
  № 1  
Ответить с цитированием
litebox
 
Аватар для litebox

Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
Question MenuBar - ошибка при обработке выбора пункта меню

Всем добрый день.

Привожу примеры двух вариантов представления MenuBar:

Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white" >
    <mx:MenuBar width="100%" labelField="@label" itemClick="eventItemClick(event)" >
		<mx:Script>
			<![CDATA[
 
				import mx.events.MenuEvent;
				import mx.controls.Menu;
				import mx.controls.MenuBar;
 
				public static const FILE_NEW_MAP:String = "fileNewMap";
 
				public static const VIEW_CELL_GRID:String = "viewCellGrid";
				public static const VIEW_TILE_GRID:String = "viewTileGrid";
 
				private function eventItemClick(e:MenuEvent):void
				{
					var itemData:String = e.item.@data;
					trace("itemData = " + itemData);
				}
			]]>
		</mx:Script>
	    <mx:XMLList>
	        <menuitem label="File">
	            <menuitem label="New..." data="{ FILE_NEW_MAP }"/>
	        </menuitem>
	        <menuitem label="View">
	        	<menuitem label="Show Tile Grid" type="check" data="{ VIEW_TILE_GRID }"/>
	        	<menuitem label="Show Cell Grid" type="check" data="{ VIEW_CELL_GRID }"/>
	        </menuitem>
	    </mx:XMLList>
    </mx:MenuBar>
</mx:Application>
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white" >
    <mx:MenuBar width="100%" labelField="@label" itemClick="eventItemClick(event)" >
		<mx:Script>
			<![CDATA[
 
				import mx.events.MenuEvent;
				import mx.controls.Menu;
				import mx.controls.MenuBar;
 
				public static const FILE_NEW_MAP:String = "fileNewMap";
 
				public static const VIEW_CELL_GRID:String = "viewCellGrid";
				public static const VIEW_TILE_GRID:String = "viewTileGrid";
 
				private function eventItemClick(e:MenuEvent):void
				{
					var itemData:String = e.item.@data;
					trace("itemData = " + itemData);
				}
			]]>
		</mx:Script>
	    <mx:XMLList>
	        <menuitem label="File">
	            <menuitem label="New..." data="{ FILE_NEW_MAP }"/>
	        </menuitem>
	        <menuitem label="View">
	        	<menuitem label="Show Tile Grid" type="check" data="viewCellGrid"/>
	        	<menuitem label="Show Cell Grid" type="check" data="viewTileGrid"/>
	        </menuitem>
	    </mx:XMLList>
    </mx:MenuBar>
</mx:Application>
отличия в этих двух примерах лишь в том, что в первом используются константы data="{ VIEW_TILE_GRID }" и data="{ VIEW_CELL_GRID }", а во втором сразу строки data="viewCellGrid" и data="viewTileGrid".

А вопрос в том, почему в первом примере, с использованием констант, параметр data для пункта меню File->New становится равен "" вместо ожидаемого "fileNewMap", а во втором варианте работает корректно

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

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

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


 


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


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