Описание

Предназначены для создания различных интерфейсов взаимодействия с пользования. Представляют собой набор стандартных интерфейсных элементов ОС WINDOWS. Работа с ними осуществляется с помощью списка специальных функцийControl_object_functions.


Создание

Все элементы создаются функцией CreateControlObject2dCreateControlObject2d, где тип элемента задается специальными константами.


Типы интерфейсных объектов

BUTTON

Управляющий элемент прямоугольного вида, представляющий собой кнопку. Пользователь может щелкать по ней мышкой, изменяя ее состояние. Кнопка используется для управления, может быть отдельной или использоваться в группе кнопок и может также содержать текст. B зависимости от стиля кнопки бывают:

PUSHBUTTON - нажимающаяся кнопка

CHECHBOX - кнопка переключатель

RADIOBUTTON - кнопка выбора (см. Стили кнопокButton_styles)

COMBOBOX

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

В зависимости от стиля, можно запретить или разрешить пользователю редактирование содержимого области выбора. Для создания применяются специальные стили (см.Стили ComboBoxCombo_box_styles)

EDIT

Управляющий элемент типа поле ввода, в котором пользователь может напечатать текст с клавиатуры. Пользователь выбирает элемент, щелкая по нему мышкой, затем может напечатать в нем текст. Мышь также может использоваться, чтобы переместить курсор внутри редактирующейся строки в поле ввода. Для создания применяются специальные стили (см.Стили Edit controlEdit_control_styles)

LISTBOX

Управляющий элемент типа список строк. Элемент используется, когда необходимо представить пользователю некоторый выбор (например, имен файлов). Пользователь может выбирать строку, щелкнув на ней мышкой. Для создания применяются специальные стили (см. Стили List boxList_box_styles)

SCROLLBAR

Управляющий элемент прямоугольного вида, который содержит кнопку скроллинга и имеет стрелки направления в оба конца. Пользователь может передвигать кнопку вдоль элемента, когда необходимо, чтобы обеспечить скроллинг, или какое либо другое управляющее воздействие. Для создания применяются специальные стили (см. Стили Scroll barScroll_bar_styles)

CURSOR_WINDOW 

 Окно просмотра баз данных (см. DbSetControlTableDbSetControlTable).

Все объекты могут так же использовать стили оконWindows_Style.


Взаимодействие с элементами

Поскольку элементы обрабатываются непосредственно средствами WINDOWS. Взаимодействие со средой Stratum происходит через механизм сообщенийMessage_theorethic. Имидж обрабатывающий такой элемент необходимо зарегистрировать  функцией RegisterObjectRegisterObject на прием специальных сообщенийControl_notification_messages. После чего он будет реагировать на  действия пользователя над данным интерфейсным элементом. И можно будет считывать актуальные характеристики элементов, или устанавливать новые.


Характеристики элементов

Текст (кроме SCROLLBAR) - это надписи на кнопках и первая строка в других элементах. Функции - GetControlText2dGetControlText2d и SetControlText2dSetControlText2d.

Состояние (для всех) - активирован или не активирован элемент (неактивированный не позволяет пользователю производить с ним действия). Функция - EnableControl2dEnableControl2d.

Стиль (для всех) - это набор констант, определяющих вид элемента. Функции - SetControlStyle2dSetControlStyle2d и GetControlStyle2dGetControlStyle2d.

Состояние кнопок (только для BUTTONS) - нажата или отжата кнопка. Функции - CheckDlgButton2dCheckDlgButton2d, IsDlgButtonChecked2dIsDlgButtonChecked2d.

Список строк (только для LISTBOX и COMBOBOX) - массив строк в элементе. Функции -LBaddStringLBAddString, LBInsertStringLBInsertString, LBGetStringLBGetString, LBClearListLBClearList, LBDeleteStringLBDeleteString, LBGetCountLBGetCount, LBGetSelIndexLBGetSelIndex, LBGetSelIndexsLBGetSelIndexs, LBSetSelIndexLBSetSelIndex, LBGetCaretIndexLBGetCaretIndex, LBSetCaretIndexLBSetCaretIndex, LBFindStringLBFindString, LBFindStringExactLBFindStringExact.

Кроме этих свойств, интерфейсные элементы обладают общими свойствами графических объектов (см. 2D ГрафикаGraphics2d).


Пример

HANDLE HSpace


HObject1:=CreateControlObject2dCreateControlObject2d (~HSpace,"LISTBOX","sss",WS_VISIBLE|WS_CHILD|LBS_STANDARD,0,20,80,50,0)

r := LBAddStringLBAddString(~HSpace,~HObject1,"Text1")

r := LBAddString (~HSpace,~HObject1,"Text2")


HObject2:=CreateControlObject2d(~HSpace,"BUTTON","проверка",WS_VISIBLE|WS_CHILD|BS_AUTOCHECKBOX,0,70,80,20,0)


HObject3:=CreateControlObject2d(~HSpace,"COMBOBOX","combo",WS_VISIBLE|WS_CHILD|CBS_SORT|CBS_DROPDOWN,0,100,80,100,0)

r := LBAddString (~HSpace,~HObject3,"Text1")

r := LBAddString (~HSpace,~HObject3,"Text2")

r := LBAddString (~HSpace,~HObject3,"Text3")


HObject4:=CreateControlObject2d(~HSpace,"EDIT","edit",WS_VISIBLE|WS_CHILD|ES_RIGHT,0,130,80,20,0)


HObject5:=CreateControlObject2d(~HSpace,"SCROLLBAR","",WS_VISIBLE|WS_CHILD|SBS_HORZ,0,160,80,20,0)


_disable:=1

Created with the Personal Edition of HelpNDoc: Write EPub books for the iPad