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

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

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

блогер
Регистрация: Sep 2009
Сообщений: 309
Записей в блоге: 4
Отправить сообщение для AzagThoth с помощью ICQ
Question Сделать текстовое поле нередактируемым

Здравствуйте. Подскажите пожалуйста как можно сделать текстовое поле TextField, добавленное на этапе разработки, нередактируемым. При помощи AS3 кода.
Вот так к сожалению не получается:
Код AS3:
login_txt.selectable = !emailOnly_ch.selected;
if(emailOnly_ch.selected){
	login_txt.type = TextFieldType.DYNAMIC;
} else {
	login_txt.type = TextFieldType.INPUT;
}
emailOnly_ch - компонент CheckBox его статус хочу использовать для установки режимов на разрешение и запрет редактирования
__________________
Играй. Это жизнь.
Всё повторяется. Играй.

Старый 21.08.2012, 20:12
MINASTIS вне форума Посмотреть профиль Отправить личное сообщение для MINASTIS Посетить домашнюю страницу MINASTIS Найти все сообщения от MINASTIS
  № 2  
Ответить с цитированием
MINASTIS
 
Аватар для MINASTIS

Регистрация: Jan 2006
Адрес: Сургут
Сообщений: 897
Отправить сообщение для MINASTIS с помощью Skype™
textfield.selectable = false

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

блогер
Регистрация: Sep 2009
Сообщений: 309
Записей в блоге: 4
Отправить сообщение для AzagThoth с помощью ICQ
К сожалению не помогает. (это первая строка моего кода)
__________________
Играй. Это жизнь.
Всё повторяется. Играй.

Старый 21.08.2012, 21:11
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 4  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
Отменить действие по умолчанию.

Старый 21.08.2012, 21:31
AzagThoth вне форума Посмотреть профиль Отправить личное сообщение для AzagThoth Найти все сообщения от AzagThoth
  № 5  
Ответить с цитированием
AzagThoth
 
Аватар для AzagThoth

блогер
Регистрация: Sep 2009
Сообщений: 309
Записей в блоге: 4
Отправить сообщение для AzagThoth с помощью ICQ
Цитата:
Сообщение от Krusty Посмотреть сообщение
Отменить действие по умолчанию.
Не очень понятно о чём речь. Можете пояснить?
__________________
Играй. Это жизнь.
Всё повторяется. Играй.

Старый 21.08.2012, 21:33
MINASTIS вне форума Посмотреть профиль Отправить личное сообщение для MINASTIS Посетить домашнюю страницу MINASTIS Найти все сообщения от MINASTIS
  № 6  
Ответить с цитированием
MINASTIS
 
Аватар для MINASTIS

Регистрация: Jan 2006
Адрес: Сургут
Сообщений: 897
Отправить сообщение для MINASTIS с помощью Skype™
Ой, не заметил. Странно, кстати, что selectable не работает и указывание типа поля тоже.

Добавлено через 7 минут
Создать листенер для текстового поля, имеет ввиду Krusty.
К примеру так:
Код AS1/AS2:
	public class Main extends Sprite 
	{
		internal var ableToEdit:Boolean = new Boolean(false);
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void 
		{
			var woot:TextField = new TextField;
			woot.border = true;
			woot.type = TextFieldType.INPUT;
			addChild(woot);
			woot.addEventListener(TextEvent.TEXT_INPUT, checkIfAble)
		}
		private function checkIfAble(e:TextEvent):void {
			if (!ableToEdit) {
				e.preventDefault();
			}
		}
 
	}
Штука preventDefault() позволяет при срабатывании листенера не делать то, что он "словил"
В нашем случае, при попытке ввода в текстовое поле, если переменная ableToEdit равна false - ввести ничего нельзя.


Последний раз редактировалось MINASTIS; 21.08.2012 в 21:45.
Старый 21.08.2012, 21:57
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 7  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
У меня Ваш код работает, смотрите что Вы присваиваете.

Код AS3:
package 
{
	import flash.display.Sprite;
	import flash.text.TextField;
	import flash.text.TextFieldType;
 
	public class Main extends Sprite 
	{
 
		public function Main():void 
		{
			var emailOnly_ch:Object;
			var login_txt:TextField;
 
			// Эмулируем окружение
			emailOnly_ch = { };
			emailOnly_ch.selected = true;
			login_txt = new TextField();
			login_txt.width = 200;
			addChild(login_txt);
			login_txt.text = "emailOnly_ch.selected = true";
 
			// Проверяем код
			login_txt.selectable = !emailOnly_ch.selected;
			if(emailOnly_ch.selected){
				login_txt.type = TextFieldType.DYNAMIC;
			} else {
				login_txt.type = TextFieldType.INPUT;
			}
 
			// Эмулируем окружение
			emailOnly_ch = { };
			login_txt = new TextField();
			login_txt.x = 200;
			login_txt.width = 200;
			addChild(login_txt);
			login_txt.text = "emailOnly_ch.selected = false";
			emailOnly_ch.selected = false;
 
			// Проверяем код
			login_txt.selectable = !emailOnly_ch.selected;
			if(emailOnly_ch.selected){
				login_txt.type = TextFieldType.DYNAMIC;
			} else {
				login_txt.type = TextFieldType.INPUT;
			}
		}
	}
 
}

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

блогер
Регистрация: Sep 2009
Сообщений: 309
Записей в блоге: 4
Отправить сообщение для AzagThoth с помощью ICQ
У меня всё заработало. Изменил идентификатор login_txt на l_txt. Возможно где-то на сцене был двойник с таким же именем.

Добавлено через 6 минут
Ага. На сцене было пять таких дублей. Вот что делает с людьми невнимательность Спасибо всем за помощь. Расставил плюсы в репу.
__________________
Играй. Это жизнь.
Всё повторяется. Играй.

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

Теги
AS3 , textfield
Опции темы
Опции просмотра

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

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


 


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


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