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

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

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

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
По умолчанию не вызывается measure при invalidateSize

чета я совсем запутался. есть компонент, при изменении его свойств, должны меняться его размеры.
Код AS3:
protected override function commitProperties():void
{
	super.commitProperties();
	//изменения компонентов, в зависимости от состояния
}
override protected function measure():void
{
	super.measure();
	//тут меняю размеры
}
public function set operation(value:GameOperation):void
{
	//устанавливаю значения
	if (_operation == value)
	{
		return;
	}
	_operation = value;
	super.invalidateProperties();
	super.invalidateSize();
	super.invalidateDisplayList();
}
в общем, когда компонент только создается и устанавливается свойство operation, measure вызывается. но при повторном изменении свойства operation, commitProperties вызывается, а measure почему-то нет, хотя invalidateSize вызывается.

может, я что не так делаю?
__________________
я могу стать всем, если только захочу

Старый 21.10.2009, 13:54
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Возможно explicitWidth или explicitHeight заданы.

Старый 21.10.2009, 14:22
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 3  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
вот спасибо. то что нужно. только где бы мне менять эти explicitWidth и explicitHeight? ато у меня этот компонент используется в TreeItemRenderer, а он видимо сам выставляет эти значения

UPD: сам отвечу на свой вопрос: разместил
Код AS3:
super.explicitWidth = NaN;
super.explicitHeight = NaN;
в measure, после всех операций. работает нормально. но, если есть более элегантное/правильное решение, с удовольствием выслушаю
__________________
я могу стать всем, если только захочу


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

Теги
invalidateSize , measure

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

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


 


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


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