Домой | Классы | Статические функции | Перечисления (ENUM) | Записи (RECORD) |
CLASS {Form|_containing_controls} , UNTESTED, DESTRUCTORS :
Класс формы. Предназначен для создания ваших наследников, в которых определяется состав компонентов формы и переопределяются методы для организации обработки событий формы и её компонентов. В визуальной библиотеке AL-IV, все визуальные компоненты размещаются в колонках, а колонки - на форме. Более вложенные иерархии не допускаются, исключая слишком сложные конфигурации формы, которые не могут быть нормально отображены на маленьких экранах.
IMPORT : {Configuration} , {String_functions} .
STR Alias|_form
Строковое "прозвище" формы. Может быть полезно для различения форм оператором CASE.
{Control} Child|ren|_controls[] , READ
Список дочерних контролов формы (не колонок, а именно всех контролов на всех колонках).
INT Handle|_native , READ
Дескриптор формы, связывающий ее с неативным объектом, представляющим форму в целевой системе.
{Screen} Screen_|object_ , INIT
Ссылка на объект класса {Screen} (который должен быть единственным в приложении).
|
Возвращает TRUE для класса-наследника {Dialog}, который создан для реализации модальных форм. |
BOOL in_construct|_LOCAL
|
Закрывает форму. Если форма главная, приложение завершается (корректный способ). |
INT local_window_handle
|
Дескриптор окна формы. Не путайте его с дескриптором нативного объекта формы. Данный дескриптор окна используется в ОС Windows (MS) для идентификации окон. |
|
STR local_caption|_set_last
|
Строка заголовка формы. |
|
Смена заголовка формы. |
BOOL No_frame|_was_set , READ
Установка (или снятие) для формы режима "без рамки". Эта опция зависит от целевой платформы и может быть просто проигнорирована.
|
BOOL No_borders , READ
Установка (или снятие) для формы режима "без границы". Эта опция зависит от целевой платформы и может быть просто проигнорирована.
| |
|
Перевод формы в режим "перемещения" по экрану с помощью мыши. Эта операция очень зависит от платформы (используется только в Windows). Вызывайте метод только в ответ на событие mouse_down. |
|
Установка для формы степени полупрозрачности. Эта опция зависит от целевой платформы и может быть просто проигнорирована. |
BOOL Custom_colors , READ
Установка цветов формы.
INT Custom_foreground|_color , READ
INT Custom_background|_color , READ
| |
|
{rect} local_form_bounds
REAL want_width|_to_set
REAL want_height|_to_set
{rect} local_monitors[]
|
Ширины клиентской области формы. |
|
Высота клиентской области формы. |
|
Верхняя левая координата клиентской области формы относительно всей формы. |
|
Установка размера формы на основе желаемого размера клиентской области формы. |
|
Событие для переопределения в главной форие приложения дл обработки параметров командной строки либо в момент запуска приложения, либо при получении параметров от другого экземпляра приложения, которое передает свои параметры первому (т.е. этому) экземпляру вместо того, чтобы обрабатывать их самому. А также, в случае, если выполняется перетаскивание файлов на форму и переопределенный метод accept возвратил TRUE. |
|
Событие для переопределения в частной реализации формы для ответа на событие перетаскивания на форму файла (файлов). До принятия решения о том, возвращать ли TRUE, в переопределенном методе можно изучить список брошенных файлов, перечисленных в списке параметров (по одному файлу на параметр). |
Переопределение метода 'command' позволяет обрабатывать события запуска других экземпляров приложения. При этом список параметров запущенного экземпляра становится доступен через функции Count_param, Parameter из {System_functions}.
Стобы событие command работало, и обеспечивался единственный экземпляр приложения, следует вместо класса {Screen} в функции Main визуального приложения использовать класс {Single_instance}.
Переопределение метода 'accept' позволяет обрабатывать события бросания файлов на форму (в результате перетаскивания мышью). Если ваш 'accept' возвращает TRUE, набор файлов считается допустимым и последующее отпускание клавиши мыши модет приводить к срабатыванию события 'command' для обработки собственно бросания списка файловс на форму. Сам список файлов доступен через функции Count_param и Parameter класса {System_functions} (при этом параметр с индексом 0 не используется).
{Control} sender_|for_event_or_NONE_if_sender_is_a_column_or_a_form_
|
Отправитель события. Обычно это контрол формы. Если NONE, то отправитель либо сама форма, либо пункт меню. |
|
Строковый идентификатор (alias) отправителя события. В случае контрола - это его Alias. В случае пункта меню - его идентификатоо (до двоеточия). Если отправитель - сама форма, строка пустая. |
|
Событие активации формы. Переопределите для реакции на активацию в результате действий пользователя. |
|
Событие деактивации формы. Переопределите для реакции на деактивацию в результате действий пользователя (активации других форм этого же или другого приложения). |
BOOL local_form_visible
{reason_closing} reason_closing|_LOCAL
BOOL Do_not_close|_even_on_shutdown|_preventing_system_to_restart_or_shutdown
|
События, вызываемое перед закрытием формы. Теоретически, можно отказаться от закрытия формы, возвратив {action}.'DECLINE'. Но не во всех случаях это обязяно сработать. Например, в слкчае принудительного завершения работы такой ответ будет проигнорирован. |
BOOL is_closed
TRUE если форма видимая.
|
BOOL Closed|_do_not_try_show_it_again , READ
TRUE если форма закрыта. После закрытия формы ее нельзя больше отобразить.
|
Метод для отображения некоторого текстового сообщения, обычно в отдельном диалоговом окне. |
|
Метод для задания вопроса, имеющего 2 возможных ответа (Да / Нет) и ожидания ответа от пользователя. |
{Form} current_modal_dialog_|child_to_this_form_
|
Возвращает текуший подчиненный модальный диалог. Только один модальный диалог может быть активным для формы. |
Для создания и вызова всплывающего меню используется метод Popup_menu. Его единственный параметр - это строка, состоящая из определний пунктов меню, разделённых символами конца строки. Удобно использовать задание многострочной строчной константы с перфиксным символом @. В этом случае символ возврата каретки добавляется автоматически, если строка завершается строчным литералом. Для организации вложенных меню, следом за пунктом, являющимся родительским, должна быть отдельно расположена строка, содержащая только символ "(". Аналогично, строка ")" завершает уровень. Каждая строка, соответствующая пункту меню, может (и должна) начинаться с префикса вида "ИДЕНТИФИКАТОР:" (двоеточие отделяет назначенный пункту меню синоним от текста пункта меню, следующего за двоеточием). Так же, возможно указание вместе с синонимом дополнительных атрибутов через запятую: disabled, checked. Например:
Отдельная строка "-" создаёт визуальный разделитель групп (обычно отображается как горизонтальная линия в меню). Одиночный символ "&" в определении пункта меню задаёт символ-ускоритель для быстрого выбора элемента (нажатием ALt+следующий символ). Но в некоторых средах этот символ просто игнорируется (Java). Для использования самого символа '&' в тексте меню, его следует удвоить. Для обработки пунктов меню следует переопределить обработчик menu:
OVERRIDE menu(STR Alias) : ...
Popup_menu(@
"COPY,disabled: &Copy [Ctrl-C]"
"CUT,disabled: C&ut [Ctrl-X]"
"PASTE: &Paste [Ctrl-V]"
"-"
"Mode..."
"("
"AUTO,checked: &Auto"
"Manual: &Manual"
")"
"EXIT: &Exit")
STR menu_alias|_or_column_alias_returned_as_sender_alias
Текстовая метка пункта меню, который активирован (в методе menu_item). Когда меню определяется в виде набора строк текста, часть строки до символа ':' определяет его метку (но если строка, соответсвующая пункту меню, не содержит символ ':', то вся строка пункта меню считается одновременно и его "меткой").
|
Событие, которое вызывается, когда пользователь "кликает" пункт меню. Используйти CASE по переменной menu_alias для переключения между ветвями, обслуживающими различные пункты меню. Или, можно использовать функцию sender_alias, которая в случае события menu_item возвращает значение переменной menu_item. |
|
Метод для отображения меню. Строковый параметр Menu определяется как набор
строк, разделенных символами #NL. Каждая строка относится к отдельному пункту
меню и имеет форму:
|
BOOL tracking_menu_sel|ection
|
INT columns|_handles[]
STR aliases|_columns[]
BOOL aligns|_labels_in_columns[]
STR Current_column|_alias , READ
Текущая колонка (используется как неявный параметр в некоторых операциях с колонками).
|
Выбор колонки (по текстовой метке Alias), которая будет считаться текущей. В процессе создания формы, текущей считается последняя (только что) созданная колонка. |
|
Возвращает активный контрол формы (находящийся в фокусе ввода). |
|
Устанавливает активный контрол формы (переводит его в фокус ввода с клавиатуры). |
|
Метод для переопределения в программируемом классе формы. Позволяет обработать событие "клика" по контролу (выполненного кнопкой мыши, клавиатуры, человеческим голосом или другим устройством или методом). Как и для большинства событий, относящихся к контролам, используейте sender и sender_alias для определения того, какой именно контрол инициировал это событие. |
|
Метод для переопределения с целью обработки событий перемещения мыши (или других указывающих устройств), которые не были обработаны ранее на более глубоком уровне - наподобие скроллинга в контролах или паннинга формы. |
|
Метод для переопределения с целью обработки событий нажатия мыши (или других указывающих устройств). Для получения координат курсора мыши используйте метод mouse, для уточнения того, какая кнопка "мыши" была нажата - метод mouse_button. |
|
Подобно предыдущему, но для обработки событий отпускания кнопки мыши. |
|
Подобно предыдущим, но для обработки событий двойного щелчка кнопкой мыши. Двойной клик мыши фиксируется после двух нажатий одной и той же кнопки "мыши" в течение достаточно короткого отрезка времени (определяемого обычно пользовательскими настройками операционной системы). Разумеется, не только мышь может использоваться для формирования двойнеых кликов, но любые позиционирующие устройства, такие как перо, палец и т.п. |
|
Подобно предыдущим, но для обработки событий вращения колеса мыши. На сенсорных экранах, событие вращения колеса мыши вверх/вниз может генерироваться жестом скольжения двух пальцев по экрану вверх/вниз. |
|
Подобно предыдущим, но для обработки событий фокусировки контролов (в результате действий пользователя). |
|
Подобно предыдущему но для обработки событий расфокусировки контролов (в результате фокусировки другого контрола, или переключения пользователя на работу с другим приложением). |
|
Подобно предыдущим, но для обработки событий рисования контролов (актуально только при наличии контролов класса {Paintbox} или его наследников на форме). Используйте метод отправителя Canvas для получения компонента для рисования в процессе обработки этого события. |
|
{Button} Default_button , READ
Текущая кнопка по умолчанию на форме (класса {Button}). Только одна кнопка может быть сделана "кнопкой по умолчанию" на форме. Такая кнопка может быть нажата клавишей ENTER (в случае, если клавиша ENTER не обрабатывается текушим активным контролм для других целей - например, в {Memo} клавиша ENTER может вставлять симолы #NL в текст).
|
Установка текущей кнопки по умолчанию на форме. |
{Button} Cancel_button , READ
Подобно кнопке по умолчанию на форме, но для храения текущей кнопки "отмены" операции. Нажимается на клавиатуре клавишей ESCAPE, также - если не обработано текущим контролом.
|
Установка текущей кнопки отмены на форме. |
{key_info} Key|_information_LOCAL
Информацио о кнопке клавиатуры (нажатой или отпущенной). Актуальна в процессе обработки событий клавиатуры.
|
Метод для переопределения с целью обработки событий нажатия клавиш на клавиатуре. |
|
Метод для переопределения с целью обработки событий отпускания клавиш на клавиатуре. |
|
Метод для переопределения с целью обработки событий ввода (с помощью клавиатуры) печатных значков (букв, цифр и других). |
|
Метод для переопределения с целью обработки событий таймера. Как обычно для событий, используйте свойства формы sender или sender_alias для определения того, какой таймер сработал. События таймера обрабатываются вглавном потоке. |
|
Метод для переопределения с целью обработки событий перемещения формы (пользователем или по какой-либо другой причине) на экране. |
|
Метод для переопределения с целью обработки событий изменения размеров формы (пользователем или еще по какой-либо причине). |
|
Метод для переопределения с целью обработки событий изменения каких-либо данных в контроле (текста, состояния "отмечен" и т.п.) |
|
Метод для внутренней инициации события value_change (обеспечивает гарантию вызова Any_change по окончании обработки). |
INT count_sel_change|_times_called
BOOL any_change_handling|_LOCAL
|
Возвращает TRUE, если метод Any_change уже вызван. |
INT level_event|_handling_LOCAL
{event} level_inc_on_event_kind , DEBUG
BOOL need_any_change
|
Метод для обработки события любых изменений в состоянии контролов формы. Именно в нем вызываются методы disabled, hidden и column_hidden для определения того, в каком состоянии (скрыто / недоступно) должны находиться контролы и колонки. |
INT suspended_count
BOOL any_change_while_suspended
BOOL adjust_horizontal_controls|_sizes
| |
|
Приостанавливает любые операции переразмещения контролов и колонок на форме. Должен использоваться в заголовке блока PUSH. Метод resume_layout вызывается автоматически (и гарантированно) по окончании работы такого блока. |
|
Возобновление операций переразмещения контролов и колонок. Этот метод вызывается автоматически по окончании работы блока PUSH, в заголовке которого был вызыван метод Suspend_layout. |
|
{Control} grayable|_controls_add_here_to_make_it_disabled_in_event_below[]
Массив для хранения списка контролов, которые могут становиться недоступными ("серыми"). Для контролов из этого списка регулярно (после любых и зменений на форме) вызывается метод disabled, запрашивая, должнен ли контрол быть недоступным. Следует переопределить метод disabled в своей форме, и для интересующих контролов прописать условия, при которых такой контрол становится "серым" и ненажимаемым.
|
Метод для переопределения с целью определить для контролов из списка grayable[] условия, при которых они являются недоступными. Не имеет смысл прописывать такие условия для контролов, которые не были добавлены в список grayable[]. |
{Control} can_hide|_controls_add_here_to_make_hidden_in_event_below[]
Массив для хранения списка контролов, которые могут становиться скрытыми. Для контролов из этого списка регулярно (после любых и зменений на форме) вызывается метод hidden, запрашивая, должнен ли контрол быть скрытым. Следует переопределить метод hidden в своей форме, и для интересующих контролов прописать условия, при которых такой контрол становится невидимым.
|
Метод для переопределения с целью определить для контролов из списка can_hide[] условия, при которых они являются скрытыми. |
|
Метод для переопределения с целью обработки событий скроллирования содержимого контролов. |
BOOL Can_stop_long_operation|_set_to_FALSE_to_prevent_dialog_show_and_stop_operation
INT In_long_operation|_level
{event} Current_event|_kind_to_use_in_long_operation_dialog_in_default_description
Текущее (последнее) обрабатываемое событие.
STR Alias_current_event
Текстовая метка контрола, вызывавшего последнее событие. Используется для отображения в диалоге о длинной операции.
|
Метод для доступа к и/или созданию экземпляра класса {Long_operation. Это специальная форма, которая всплывает, когда обнаруживается длинная операция. |
{Control} stack_senders[]
Внутренний метод для организации работы с событиями формы.
{event} stack_kinds[]
| |
|
Еще один внутренний метод для организации работы с событиями формы. |
| |
|
Управляет доступностью/недлоступностью формы. Не рекомендуется использовать из своего кода. |
BOOL loaded_bounds|_LOCAL
{state} local_form_state
|
Возвращает текущее состояние формы. |
|
INT in_process_count|er
Процессирует все очтавшиеся в очереди события.
|
{Form} parent_form_|local_used_with_modal_form_only_
Родительская форма для диалога.
BOOL Ready|_answered , READ
TRUE, если для диалога уже был получен ответ от пользователя.
STR Answer|_set_in_result , READ
Текстовая строка, представляеющая собой ответ, полученный от пользователя в процессе работы данного диалога. Когда вызывается метод ready диалога, эта строка передается в вашем коде в качестве ответа. После возвращения управления в точку, где обрабатывается ответ диалога, эта строка может быть проанализирована, чтобы опредить, что делать дальше.
|
Метод для вызова из кода диалога для указания ответа на диалог и завершения его работы. |
|
Метод для показа модального диалога (форма должна быть унаследована от {Dialog}). |
| |
|
| |
|