Flex 3: различия между версиями

Содержимое удалено Содержимое добавлено
про контролы
контейнеры
Строка 237:
==== errorString ====
Если установить errorString, то контрол будет обрамлён красной рамкой, а при наводе на него мыши появится сообщение об ошибке (значение errorString).
 
 
 
== Контейнеры ==
=== Form ===
Элемент Form - это всего лишь контейнер для удобного построения пользовательских форм.
Для того, чтобы отправить данные формы нужно использовать объект типа HTTPService.
=== FormItem ===
<source lang='javascript'>
fi = new FormItem;
fi.label = "Auth name :";
__authNm = new TextInput;
__authNm.text = auth.name;
fi.addChild(__authNm);
form.addChild(fi);
</source>
=== Panel ===
editPanel.removeAllChildren();
 
=== TitleWindow ===
создаёт окно внутри приложения:
<source lang='xml'>
<mx:TitleWindow showCloseButton="true">
<mx:Button label="test1"></mx:Button>
</mx:TitleWindow>
</source>
свойства
название тип
title string заголовок окна
 
==== сделать окно перемещаемым ====
 
Положим, мы создали окно внутри с помощью ActionScript
import mx.containers.TitleWindow;
private var win:TitleWindow = new TitleWindow();
 
1. добавляем обработчик события, что кнопка мыши была нажата
win.addEventListener(MouseEvent.MOUSE_DOWN, winStartMove);
2. при нажатии кнопки добавляем второй обработчик события, если кнопка отпущена
private function winStartMove(event:MouseEvent):void{
win.startDrag();
win.addEventListener( MouseEvent.MOUSE_UP, winStopMove );
}
 
3. когда отпускаем кнопку, то удаляем второй обработчкик события
private function winStopMove(event:MouseEvent):void{
win.stopDrag();
win.removeEventListener(MouseEvent.MOUSE_UP, winStopMove );
}
ограничение области для перемещения окна
var ws:Container = Application.application.workspace; // какой-то контейнер, внутри которого должны отображаться окна
var p:Point = ws.localToGlobal( new Point(0, 0) ); // узнаём, где находится верхний левый угол у контейнера
this.startDrag(false, new Rectangle(p.x, p.y, ws.width - this.width, ws.height - this.height));