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

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

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

Регистрация: Jun 2009
Адрес: третья планета от Солнца
Сообщений: 63
По умолчанию NumericStepper обработать значение

Использую компонент NumericStepper для задания размеров . Когда просто вводишь значения в текстовое поле оно не обрабатывается компонентом на макс, мин пока не произойдёт событие change .
Как сделать эту обработку ?
Мне надо передать значение при нажатии на кнопку отсылки , которое я ввёл без щёлканья по элементам компонента NumericStepper (стрелочкам ).
Помогите мне разобраться....

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
вызывать invalidate() перед использованием или вообще при потере фокуса этим степпером

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

Регистрация: Jun 2009
Адрес: третья планета от Солнца
Сообщений: 63
Цитата:
вызывать invalidate() перед использованием или вообще при потере фокуса этим степпером
Честно говоря я не понял как тут invalidate() применить
Ну вот пример -- http://atomovozoff.narod.ru/NumericStepperExample.swf
моя кнопка не реагирует , а кнопка компонент ведёт себя нормально .
Код AS3:
package 
{
	import fl.controls.Button;
	import fl.controls.TextArea;
    import flash.display.Sprite
 
    import flash.events.*;
    import fl.controls.NumericStepper;
 
    public class NumericStepperExample extends Sprite
    {
        private var _ns1:NumericStepper;
		private var _traceTextArea:TextArea;
 
        public function NumericStepperExample() {        
            setupSteppers();
			setupButtons();
			setupTraceTablo();
        }
		private function setupTraceTablo():void
		{
			_traceTextArea = new TextArea();
			_traceTextArea.setSize(200, 250);
			_traceTextArea.x = 160;
			_traceTextArea.y = 0;
			_traceTextArea.editable = false;
			addChild(_traceTextArea);
		}
		private function setupButtons():void
		{
			var adobButton:Button = new Button();
			adobButton.x =  50;
			adobButton.y =  120;
			adobButton.addEventListener(MouseEvent.CLICK, eventListenerClickAdobButton);
			addChild(adobButton);
			var myButton:ButtonMy = new ButtonMy();
			myButton.x =  50;
			myButton.y =  50;
			myButton.addEventListener(MouseEvent.CLICK, eventListenerClickMyButton);
			addChild(myButton);
			}
			private function eventListenerClickAdobButton(e:MouseEvent):void 
			{
		_traceTextArea.appendText("AdobButton  --       "  + _ns1.value + "\n");		
			}
		private function eventListenerClickMyButton(e:MouseEvent):void
		{
			_traceTextArea.appendText("MyButton  --       "  + _ns1.value + "\n");		
 
		}
        private function setupSteppers():void {    
            _ns1 = new NumericStepper();
            _ns1.stepSize = 1;
            _ns1.maximum = 10;
            _ns1.minimum = 0;
			_ns1.value = 2;
            _ns1.addEventListener(Event.CHANGE,changeOccurred);
 
            addChild(_ns1);
        }
		private function changeOccurred(e:Event):void 
		{
 
		}
 
    }
}
Я пока что вижу решение скин поменять в стандартной кнопки на свой

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Код AS3:
_ns1.addEventListener(FocusEvent.FOCUS_OUT, onNs1FocusOut);
Код AS3:
private function onNs1FocusOut(evnt:FocusEvent):void 
{
	_ns1.invalidate();
}
да, видимо на кнопке должно быть управление фокусом, в этом отличие от Button
возможно, что обрабочик FOCUS_OUT тогда и не нужен, скорее всего он есть в самом NumericStepper
Код AS3:
private function eventListenerClickMyButton(e:MouseEvent):void
{
	stage.focus = null;
	_traceTextArea.appendText("MyButton  --       "  + _ns1.value + "\n");		
}


Последний раз редактировалось silin; 22.12.2009 в 15:16.
Старый 22.12.2009, 18:39
ualex вне форума Посмотреть профиль Отправить личное сообщение для ualex Найти все сообщения от ualex
  № 5  
Ответить с цитированием
ualex
 
Аватар для ualex

Регистрация: Jun 2009
Адрес: третья планета от Солнца
Сообщений: 63
silin спасибо
да строка
Код AS1/AS2:
stage.focus = null;
в последнем приведённом Вами коде "волшебным" образом заставила мою кнопку работать правильно.

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

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

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


 


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


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