Навигация:
<< >> Оглавление Указатель

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.28. Вспомогательный объект для работы с модальными окнами

А.5.28.2. rdsFORMAddEdit – добавить поле ввода

Функция rdsFORMAddEdit добавляет в объект для работы с модальным окном новое поле ввода.

  void  rdsFORMAddEditA(
     Win,  // Объект
    int TabId,        // Идентификатор вкладки
    int CtrlId,       // Идентификатор поля
     Type,       // Тип (RDS_FORMCTRL_* | RDS_FORMFLAG_*)
     Caption,  // Заголовок поля (UTF8)
    int Width         // Ширина поля или -1
  );
  void  rdsFORMAddEditW(
     Win,  // Объект
    int TabId,        // Идентификатор вкладки
    int CtrlId,       // Идентификатор поля
     Type,       // Тип (RDS_FORMCTRL_* | RDS_FORMFLAG_*)
     Caption, // Заголовок поля (UTF16)
    int Width         // Ширина поля или -1
  );
  // 
  void  rdsFORMAddEdit(
     Win,  // Объект
    int TabId,        // Идентификатор вкладки
    int CtrlId,       // Идентификатор поля
     Type,       // Тип (RDS_FORMCTRL_* | RDS_FORMFLAG_*)
     Caption, // Заголовок поля (кодировка по умолчанию)
    int Width         // Ширина поля или -1
  );

Тип указателя на эту функцию

RDS_VHoIIDwSI (для UTF8) или RDS_VHoIIDwWsI (для UTF16)

Параметры

Win (RDS_HOBJECT)
Идентификатор вспомогательного объекта для работы с модальным окном, ранее созданного функцией rdsFORMCreate.
TabId (int)
Целый идентификатор вкладки окна или боковой панели, на которую будет добавлено поле. Вкладки создаются вызовами rdsFORMAddTab. Если в окне нет ни вкладок, ни боковой панели, параметр игнорируется.
CtrlId (int)
Произвольный целый идентификатор, который будет присвоен созданному полю ввода. Вся дальнейшая работа с этим полем будет вестись по этому идентификатору.
Type (DWORD)
Одна из констант RDS_FORMCTRL_*, указывающая тип создаваемого поля ввода, объединенная битовым ИЛИ с флагами поля RDS_FORMFLAG_*. Типы и флаги полей подробно рассматриваются в приложении А.5.28.3. В окно может быть добавлено поле ввода одного из следующих типов:
RDS_FORMCTRL_BUTTON Кнопка, реакция на которую определяется функцией обратного вызова.
RDS_FORMCTRL_CHECKBOX Одиночный флаг.
RDS_FORMCTRL_COLOR Кнопка выбора цвета..
RDS_FORMCTRL_COMBOEDIT Поле ввода с выпадающим списком готовых вариантов заполнения.
RDS_FORMCTRL_COMBOLIST Выпадающий список без возможности ручного ввода значения.
RDS_FORMCTRL_DIRDIALOG Кнопка выбора папки.
RDS_FORMCTRL_DISPLAY Индикация значения.
RDS_FORMCTRL_EDIT Обычное поле ввода на одну строку текста.
RDS_FORMCTRL_FONTSELECT Кнопка выбора шрифта.
RDS_FORMCTRL_HOTKEY Поле ввода для сочетания клавиш.
RDS_FORMCTRL_LABEL Надпись без поля ввода.
RDS_FORMCTRL_LISTANDEDIT Поле ввода с дополнительным выпадающим списком.
RDS_FORMCTRL_MULTILINE Поле ввода нескольких строк текста.
RDS_FORMCTRL_NONVISUAL Скрытое поле.
RDS_FORMCTRL_OPENDIALOG Кнопка с диалогом открытия файла.
RDS_FORMCTRL_PAINTBOX Область программного рисования.
RDS_FORMCTRL_RADIOBUTTON Флаг, связанный с другими флагами – включен может быть только один.
RDS_FORMCTRL_RANGEEDIT Два поля ввода для задания диапазона значений.
RDS_FORMCTRL_SAVEDIALOG Кнопка с диалогом сохранения файла.
RDS_FORMCTRL_UPDOWN Поле ввода со стрелками вверх и вниз.
Для установки и чтения значения полей ввода используется команда RDS_FORMVAL_VALUE, но для некоторых типов полей существуют дополнительные команды: например, для поля ввода со стрелками можно установить шаг изменения значения, для поля с выпадающим списком – список вариантов и т.п. Константа типа поля ввода RDS_FORMCTRL_* в параметре Type может объединяться с флагами RDS_FORMFLAG_*, модифицирующими внешний вид поля:
RDS_FORMFLAG_CHECK Слева от заголовка поля находится флаг, управляющий разрешением и запрещением этого поля.
RDS_FORMFLAG_CHECKRADIO
(только вместе с флагом RDS_FORMFLAG_CHECK).
Разрешающий флаг слева от заголовка поля входит в группу взаимоисключающих флагов.
RDS_FORMFLAG_DISABLED Поле ввода запрещено и отображается серым цветом.
RDS_FORMFLAG_LCENTER Заголовок поля ввода выровнен по центру.
RDS_FORMFLAG_LINE Под полем располагается рельефная линия.
RDS_FORMFLAG_LRIGHT Заголовок поля ввода выровнен по правому краю.
Caption (RDSCSTR, RDSWCSTR, RDSXCSTR)
Указатель на строку с заголовком поля ввода. В большинстве полей заголовок размещается слева от самого поля и, если не установлены флаги RDS_FORMFLAG_LRIGHT или RDS_FORMFLAG_LCENTER, выровнен по левому краю. В полях типа RDS_FORMCTRL_CHECKBOX и RDS_FORMCTRL_RADIOBUTTON заголовок размещается справа от галочки, по которой может щелкать пользователь, и всегда выровнен по левому краю. В полях типа RDS_FORMCTRL_MULTILINE и RDS_FORMCTRL_PAINTBOX заголовок размещается над полем (поле занимает всю ширину окна). Если для поля задан флаг RDS_FORMFLAG_CHECK, дополнительная галочка будет размещаться слева от заголовка.
Width (int)
Ширина поля в точках экрана или −1 для ширины по умолчанию. Для некоторых типов полей ввода (RDS_FORMCTRL_MULTILINE, RDS_FORMCTRL_PAINTBOX, RDS_FORMCTRL_CHECKBOX, RDS_FORMCTRL_RADIOBUTTON) ширина устанавливается автоматически и значение Width игнорируется.

Примечания

Эта функция добавляет в объект Win на вкладку TabId поле ввода типа Type с заголовком Caption и идентификатором CtrlId. Поля добавляются сверху вниз, то есть каждый следующий вызов rdsFORMAddEdit добавляет поле на вкладку TabId непосредственно под последним добавленным полем. Идентификаторы полям можно присваивать произвольно – главное, чтобы в одном окне не было двух полей с одинаковыми идентификаторами.

Константы RDS_FORMFLAG_* позволяют изменить выравнивание заголовка поля ввода, а также добавить слева от этого заголовка флаг, который будет разрешать или запрещать ввод данных в поле.

Пример

Примеры использования функции rdsFORMAddEdit приведены в руководстве программиста: §2.7.2, §2.10.1 и др.

См. также

rdsFORMCreate, rdsFORMAddTab, RDS_FORMVAL_VALUE, RDS_FORMVAL_ENABLED, rdsFORMEnableSidePanel, типы и флаги полей ввода.


<< >> Оглавление Указатель