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

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

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

Регистрация: Nov 2010
Сообщений: 430
По умолчанию Изменение высоты TextField в CheckBox

Здравствуйте.

Подскажите, как можно изменить высоту TextField в CheckBox? Точнее она уменьшена, но CheckBox ведет себя как TextField, у которого не задан TextFieldAutoSize: объекты расположенные ниже чекбокса отодвинуты визуально на 100 пикселей хотя:

Код AS3:
				this.repeatCheckBox.textField.autoSize = TextFieldAutoSize.LEFT;
				trace(this.repeatCheckBox.textField.height); // 19
				trace(this.repeatCheckBox.textField.y); // 0
				trace(this.repeatCheckBox.height); // 22
				trace(this.repeatCheckBox.y); // 0
результат все равно:

[img]http://s017.***********/i439/1110/ea/96cb4c6d376f.gif[/img]

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

Регистрация: Nov 2004
Адрес: Архангельская область
Сообщений: 492
Отправить сообщение для Azo с помощью ICQ Отправить сообщение для Azo с помощью AIM Отправить сообщение для Azo с помощью Yahoo
ну

Код AS3:
this.repeatCheckBox.textField.height =19
и тогда не должно быть 100px

а может дело не в TextField

там может какой другой спрайт еще
__________________
-------------------------------
FLASH FLASH FLASH FLASH FLASH

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

Регистрация: Nov 2010
Сообщений: 430
Цитата:
Сообщение от Azo Посмотреть сообщение
ну

Код AS3:
this.repeatCheckBox.textField.height =19
и тогда не должно быть 100px

а может дело не в TextField

там может какой другой спрайт еще
Даж и не знаю, куда думать..

Это не работает:
Код AS3:
this.repeatCheckBox.textField.height =19
Это тоже не работает:
Код AS3:
this.repeatCheckBox.setSize(50,20);

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

Регистрация: Nov 2004
Адрес: Архангельская область
Сообщений: 492
Отправить сообщение для Azo с помощью ICQ Отправить сообщение для Azo с помощью AIM Отправить сообщение для Azo с помощью Yahoo
попробуй удалить этот текст и посмотреть на реакцию..
this.repeatCheckBox.removeChild(textField)

если отступ продолжает быть.- дело в другом
__________________
-------------------------------
FLASH FLASH FLASH FLASH FLASH

Старый 11.10.2011, 13:42
Srednas вне форума Посмотреть профиль Отправить личное сообщение для Srednas Найти все сообщения от Srednas
  № 5  
Ответить с цитированием
Srednas

Регистрация: Nov 2010
Сообщений: 430
Цитата:
Сообщение от Azo Посмотреть сообщение
попробуй удалить этот текст и посмотреть на реакцию..
this.repeatCheckBox.removeChild(textField)

если отступ продолжает быть.- дело в другом
Все становится нормально после удаления. При добавлении — снова сдвигается вверх, т.к. чекбокс занимает 100 px.

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

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
CheckBox#labelPlacement

В случае если вам это не подойдет, то необходимо создать собственный класс (который наследуется от CheckBox), у которого следует переопределить метод drawLayout
__________________
Блог, Twitter
Брюзга.

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

Регистрация: Nov 2004
Адрес: Архангельская область
Сообщений: 492
Отправить сообщение для Azo с помощью ICQ Отправить сообщение для Azo с помощью AIM Отправить сообщение для Azo с помощью Yahoo
Код AS3:
this.repeatCheckBox.removeChild(textField)
 
var textField:TextField=new TextField();
textField.height=19;
textField.width=100 - 20;
textField.text="проверка";
this.repeatCheckBox.addChild(textField);
а так)
__________________
-------------------------------
FLASH FLASH FLASH FLASH FLASH

Старый 11.10.2011, 13:58
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 8  
Ответить с цитированием
mayakwd
 
Аватар для mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
Azo, так нельзя делать, это плохой подход. Вы консервным ножом вскрываете банку с откручиваемой крышкой.

Правильно будет использовать переопределение метода, либо «нативного» labelPlacement.
__________________
Блог, Twitter
Брюзга.

Старый 11.10.2011, 14:04
Srednas вне форума Посмотреть профиль Отправить личное сообщение для Srednas Найти все сообщения от Srednas
  № 9  
Ответить с цитированием
Srednas

Регистрация: Nov 2010
Сообщений: 430
Цитата:
Сообщение от Azo Посмотреть сообщение
Код AS3:
this.repeatCheckBox.removeChild(textField)
 
var textField:TextField=new TextField();
textField.height=19;
textField.width=100 - 20;
textField.text="проверка";
this.repeatCheckBox.addChild(textField);
а так)
Та то же самое.
Значить что-то в чекбоксе кроме такстфилда есть, только вот как до этого добраться?..

Добавлено через 1 минуту
Цитата:
Сообщение от mayakwd Посмотреть сообщение
Azo, так нельзя делать, это плохой подход. Вы консервным ножом вскрываете банку с откручиваемой крышкой.

Правильно будет использовать переопределение метода, либо «нативного» labelPlacement.
labelPlacement —*меняет положение лейбла, но высота чекбокса, к сожалению, не изменяется.

Старый 11.10.2011, 14:11
trng вне форума Посмотреть профиль Отправить личное сообщение для trng Найти все сообщения от trng
  № 10  
Ответить с цитированием
trng

Регистрация: Jun 2011
Сообщений: 212
Компоненты fl.controls.* - это капризные компоненты.
У меня была похожая проблема с TextArea (не хотел уменьшаться невидимый вертикальный скроллбар).
NumericStepper тоже глючил (не помню детали).

В вашем случае не уменьшается один из вложенных компонентов.
Попробуйте trace. Что напишет?
Код AS3:
for (var i:int=0;i<this.repeatCheckBox.numChildren;i++) {
	trace(this.repeatCheckBox.getChildAt(i).name,
                    this.repeatCheckBox.getChildAt(i),
                   this.repeatCheckBox.getChildAt(i).width,
                   this.repeatCheckBox.getChildAt(i).height);
}
После этого сделайте trace детей компонента с "ненормальной" шириной/высотой.


Можете также поустанавливать opaqueBackground:

this.repeatCheckBox.opaqueBackground = 0xff0000;
И для "деток":
this.repeatCheckBox.getChildAt(0).opaqueBackground = 0x00ff00;
this.repeatCheckBox.getChildAt(1).opaqueBackground = 0x0000ff;
... до numChildren

Сама по себе такая установка opaqueBackground может повлиять на поведение глюка.

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

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

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


 


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


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