Домой Классы Статические функции Перечисления (ENUM) Записи (RECORD)

{Control|_on_form}


(включая защищенные члены)

CLASS {Control|_on_form} , ABSTRACT, DESTRUCTORS, UNTESTED :


{Control} - это общий прототип визуального иди невизуального компонента, размещаемого на форме. Все компонеты размещаются в колонках формы. Для колонки задаётся её диспозиция (влево, вправо, по центру, вверх или вниз). Визуальные компоненты располагаются в колонке сверху вниз, по одному или по два в ряд (два, если компоненту предшествует достаточно малая по ширине метка, и компонент не требует использования всей ширины колонки). События компонентов обрабатываются в методах формы, на которой они расположены (click, change, mouse_move и т.д.) Примеры: {Label}, {Button}, {Timer}, и т.п.


IMPORT : {Geometry} .

{Form} Form_|parent_ , INIT

Ссылка на родительскую форму.


STR Alias|_of_control , INIT

Строковая метка, которая может использоваться для идентификации контрола- отправителя при обработке события, такого как движение мыши, изменение текста в {Edit}-контроле и т.п.


INT Handle|_control_native , READ

Дескриптор нативного контрола, используемый для ассоциирования с контролом AL-IV.


STR Parent_column|_on_form , READ


 

METHOD visual|_component_dummy_override_to_in_non_visual_like_timer ==> BOOL , CALLBACK



----------------------------- 'stored locally (in certain implementations)'

STR local_caption


BOOL local_hidden


BOOL local_disabled


{rect} local_bounds



----------------------------------------------------- 'local stored colors'

INT local_foreground


INT local_background



------------------------------------------------------- 'local stored font'

STR local_font_face


REAL local_font_size


STR local_font_styles



------------------------------- 'позиция относительно родительской колонки'


METHOD Left|_position_in_parent_column ==> REAL


Левая координата верхнего левого угла контрола относительно родительской колонки, в поинтах.


METHOD Set_left ( REAL L|eft_position_points ) , SETTER FOR Left


Установка левой координаты контрола. Не имеет постоянного действия, кроме случая, когда для колоки задано "ручное" размещение контролов (метод {Form}.Set_column_auto_arrange с параметром FALSE).


METHOD Top|_position_in_parent_column ==> REAL


Координата Y верхнего левого угла контрола относительно родительской колонки, в поинтах.


METHOD Set_top|_position (
     
REAL T|op_position_points ) , SETTER FOR Top


Установка верхней координаты контрола. Не имеет постоянного действия, кроме случая, когда для колоки задано "ручное" размещение контролов (метод {Form}.Set_column_auto_arrange с параметром FALSE).


METHOD Set_offset ( REAL X|_value_set , REAL Y|_value_set )


Установка верхней и левой координат контрола относительно родительской колонки. Не имеет постоянного действия, кроме случая, когда для колонки задано "ручное" размещение контролов (метод {Form}.Set_column_auto_arrange с параметром FALSE).


METHOD Location|_in_parent_form ==> {Geometry}.{point}


Верхняя и левая координаты контрола относительно клиентской области родительской формы.


METHOD Width|_of_control ==> REAL


Ширина визуального контрола в поинтах.


METHOD Set_width ( REAL W|idth_points ) , SETTER FOR Width


Установка ширины контрола. Не имеет постоянного действия, кроме случая, когда родительская колонка выровнена по верхнему или нижнему краю, или для колонки задано "ручное" размещение контролов.

REAL last_set_w|idth


REAL last_set_h|eight



METHOD Height|_of_control ==> REAL


Высота визуального контрола в поинтах.


METHOD Set_height ( REAL Height_p|oints ) , SETTER FOR Height


Установка высоты контрола.


METHOD Set_size ( REAL New_w|idth , REAL New_h|eight )


Установка размеров контрола. Не имеет постоянного действия для ширины, кроме случая, когда родительская колонка выровнена по верхнему или нижнему краю, или для колонки задано "ручное" размещение контролов.


---------------- 'границы компонента относительно клиентской области формы'


METHOD Bounds|_rectangle_relative_to_parent_form ==> {Geometry}.{rect} , CALLBACK


Прямоугольник границ визуального контрола относительно клиентской области родительской формы.

BOOL Can_anchor_bottom|_right , READ

TRUE, если контрол допускает установку свйства Anchor_bottom (такие, как {Memo}, {Listbox}, {Paintbox} и его наследники).


BOOL Anchor_bottom|_right_only_edit_memo_combo_paintbox , READ

TRUE, если контрол расширен вниз. Это должен быть последний визуальный контрол в колонке, выровненной влево, вправо или по центру.



METHOD Set_anchor_bottom (
     
BOOL Bott|om_anchor ) , SETTER FOR Anchor_bottom


Устанавливает новое значение для свойства Anchor_bottom. Применимо только для контролов, чье свойтство Can_anchor_bottom = TRUE


------------------------------------------------------- 'for {Paint_table}'

 

METHOD call_paint_item , CALLBACK



------------------------------------------- 'управление общими состояниями'

Следует использовать события формы hidden / disabled, а не вызывать напрямую эти методы. Компонент должен быть помещён в списки формы grayable[ ] / can_hide[ ], чтобы эти события вызывались для этих компонентов.     

METHOD Get_hidden ==> BOOL


TRUE, если контрол невидим на форме. Для контроля того, является ли контрол скрытым, следует переопределить обработчик hidden у родительской формы.


METHOD set_hidden ( BOOL Hidden_state )



METHOD Visible|_with_parent_column ==> BOOL , CALLBACK



METHOD Get_disabled ==> BOOL


TRUE, если контрол недоступен (засерен). Для управления недоступностью контролов следует переопредить событие disabled родительской формы.


METHOD set_disabled ( BOOL D|isabled_state )



METHOD Enabled|_control ==> BOOL , CALLBACK



-------------------------------- 'общие параметры для текста в компонентах'

BOOL Wrap|_text , READ

TRUE, если текст в контроле переносится по строкам.



METHOD Set_wrap|able ( BOOL W|rapable_dummy ) , SETTER FOR Wrap


Установка для текста контрола свойства Wrap (перенос по строкам).


METHOD Get_selection|_text ==> STR


Возвращает текущий выделенный текст. Применимо для контролов, предназначенных для редактирования текста, таких как {Edit}, {Memo}, {Paint_lines}.


METHOD Replace_selection|_text (
     
STR T|ext_to_replace_selection_dummy ) , SETTER FOR Get_selection


Замещает текущий выделенный текст в контроле указанной строкой. Применимо для контролов, предназначенных для редактирования текста, таких как {Edit}, {Memo}, {Paint_lines}.


METHOD Text|_of_control ==> STR


Возвращает текст, отображаемый контролом. Применимо, например, для контролов {Button}, {Label}, {Edit}, {Memo}, {Paint_lines}.


METHOD Caption|_text ==> STR


Возвращает текст контрола. Эквивалент метода Text.


METHOD Set_caption ( STR Value|_to_set ) , SETTER FOR Caption


Устанавливает текст для контроола. Применимо для контролов, отображающих текст, таких как {Button}, {Label}, {Edit}, {Memo}, {Paint_lines}.


METHOD Get_text|_of_control ==> STR


Возвращает текст контрола. Эквивалент метода Text.


METHOD Set_text|_of_control ( STR T|ext_to_set ) , SETTER FOR Get_text


Устанавливает текст для контроола подобно Set_caption. Дополнительно, вызывается метод формы Any_change, если в результате текст изменился.


STRUCTURE {from_to|_indexes_to_use_in_Memo}

      INT Line_from|_only_if_coordinates_in_form_LINE_COL

      INT From|_position

      INT Line_to|_only_if_coordinates_in_form_LINE_COL

      INT To|_position .


Структура для хранения и передачи координат в многострочном тексте..


---------------------------------------------------------------- 'элементы'


METHOD Get_item|_text (
     
INT Row|_of_control_dummy ,
     
INT Col|umn_of_control_dummy ) ==> STR


Получение текста для элемента контроола. Применимо для контролов, состоящих из элементов, таких как {Listbox}, {Memo}.


METHOD Set_item|_text (
     
INT Row|_of_control_dummy ,
     
INT Col|umn_of_control_dummy ,
     
STR Value|_to_set_dummy ) , SETTER FOR Get_item


Установка текста для элемента контроола. Применимо для контролов, состоящих из элементов, таких как {Listbox}, {Memo}.


METHOD Count|_rows_memo_listview_dummy ==> INT


Количество элементов контроола. Применимо для контролов, состоящих из элементов, таких как {Listbox}, {Memo}.


METHOD Columns_count|_listview_dummy ==> INT


Количество колонок. Применимо для контролов, состоящих из элементов, сщдержащих под-элементы, таких как {Paint_table}.


METHOD Clear|_delete_all_items


Очистка от элементов контроола. Применимо для контролов, состоящих из элементов, таких как {Listbox}, {Memo}, {Paint_lines}, {Paint_table}.


------------------------------------------------------------------- 'цвета'

INT Foreground|_color

Цвет переднего плана (обычно используется для отображения текста). На некоторых платформах может игнорироваться для некоторых видов контролов (например, для {Button} на платформе Windows).



METHOD Set_foreground|_color (
     
INT C|olor_foreground ) , SETTER FOR Foreground


Установка цвета переднего плана для контрола.

INT Background|_color

Цвет заднего плана.



METHOD Set_background|_color (
     
INT C|olor_background ) , SETTER FOR Background


Установка цвета заднего плана для контрола.

BOOL Custom_background|_when_set_at_least_one_set_to_TRUE



------------------------------------------------------------------- 'шрифт'


METHOD Get_font_face|_dummy ==> STR


Получение имени шрифта для контрола.


METHOD Set_font_face ( STR F|ont_name ) , SETTER FOR Get_font_face


Установка имени шрифта для контрола.


METHOD Get_font_size|_dummy ==> REAL


Получение размера шрифта (в поинтах) для контрола.


METHOD Set_font_size ( REAL Value|_size ) , SETTER FOR Get_font_size


Установка размера шрифта для контрола.


METHOD Get_font_style|s_as_string_BIUS ==> STR


Получение стиля шрифта для контрола в виде строки (B- утолщенный, I- курсив и др.).


METHOD Set_font_style|s_as_string_BIUS (
     
STR S|tyles_set_BUIS ) , SETTER FOR Get_font_style


Установка стиля шрифта для контрола в виде строки (B- утолщенный, I- курсив и др.).


METHOD Setup_font|_all_attributes (
     
STR Face|_name ,
     
REAL Size|_font ,
     
STR Style|s_font )


Установка имени, размера и стиля шрифта для контрола за один вызов.


METHOD Is_autosize ==> BOOL


TRUE, если размер контрола устанавливается автоматически. Этот метод должен быть переопределен при реализации конкретного контрола. Используется в методе формы, выполняющем расстановку контролов внутри своей колонки.


------------------------------------------------------------ 'события мыши'


METHOD mouse_move|d , CALLBACK


Событие движения мыши. Это метод для переопределения в реализации конкретного типа контрола. Когда срабатывает событие мыши, то в первую очередь вызывается этот обработчик. Если в процессе своей работы он выставляет флаг stop_handling, то обработка события останавливается.


METHOD mouse_down , CALLBACK


Событие нажатия кнопки мыши. Это метод для переопределения в реализации конкретного типа контрола.


METHOD mouse_up|pered , CALLBACK


Событие отпускания кнопки мыши. Это метод для переопределения в реализации конкретного типа контрола.


METHOD mouse_double_click|ed , CALLBACK


Событие двойного клика мыши. Это метод для переопределения в реализации конкретного типа контрола.


METHOD mouse_wheel|_rotated , CALLBACK


Событие поворота колеса мыши. Это метод для переопределения в реализации конкретного типа контрола.

BOOL stop_handling|_event_do_not_pass_to_form_mouse_handling_methods_LOCAL

Установка флага stop_handling в процессе обработки любого из событий мыши, перечисленных выше, приводит к остановке дальнейшей обработки события.


 

METHOD mouse_button|_clicked ==> {Form}.{button} , CALLBACK


Кнопка мыши в процессе обработки событий мыши.


METHOD mouse|_coords_in_points_relative_to_control_top_left_corner ==> {point} , CALLBACK


Координаты мыши в процессе обработки событий мыши.


METHOD vertical_wheel|_pages ==> REAL , CALLBACK


Значение вертикального поворота колеса мыши в процессе обработки событий мыши. Поворот измеряется в "линиях", где 1 линия примерно соответсвует значению 120 в обработке событий колеса мыши в Windows.


METHOD horizontal_wheel|_shift ==> REAL , CALLBACK


Значение горизонтального поворота колеса мыши в процессе обработки событий мыши. Поворот измеряется в "линиях", где 1 линия примерно соответсвует значению 120 в обработке событий колеса мыши в Windows.


METHOD Click|_on_control_programmatically



----------------------------------------------------- 'анимация по таймеру'


METHOD animate|_begin (
     
INT Count|_times ,
     
INT Interval|_milleseconds ) , CALLBACK , IF Count IS CONST , THEN Count > 0, IF Interval IS CONST , THEN Interval > 0 :


Запуск таймера, обеспечивающего периодический вызов события animation (которое может использоваться для целей анимации, и для любых других заданий).


METHOD animation|_tick , CALLBACK


Обработчик события анимации, инициированного методом animate.


--------------------------------------------------------------- 'прокрутка'


METHOD scrolled|_window_content , CALLBACK


Обработчик событий прокрутки, используется в некоторых контролах, имеющих размер отображаемого содержимого больше, чем может быть отображено в видимой области и позволющих выполнять прокрутку содержимого, используя различные средства, например, линейки прокрутки, колесо мыши или жесты мышью/пальцами.


----------------------------------------------------- 'access Form_.sender'

  

METHOD set_form_sender ( {Control} Who|_is_sender ) , CALLBACK



METHOD activated


INT debug_suspend


    

METHOD Suspend|_redrawing , PUSH



METHOD resume|_redrawing , POP



METHOD do_suspend , CALLBACK



METHOD do_resume , CALLBACK


END