Текущий раздел:

Описания RDS

Приложения

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

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

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

А.5.28.11. Команда RDS_FORMVAL_2NDEDITENABLED – разрешение основного поля в двойном поле ввода со списком

# Приложения

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

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

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

##### А.5.28.11. Команда RDS_FORMVAL_2NDEDITENABLED – разрешение основного поля в двойном поле ввода со списком

Команда RDS_FORMVAL_2NDEDITENABLED разрешает или запрещает основное поле ввода в двойном поле типа RDS_FORMCTRL_LISTANDEDIT.

Вызов команды для установки

      int iCtrlId= … // Идентификатор поля ввода
      int iEnable= … // 1 – разрешить, 0 - запретить
      rdsSetObjectInt(Win,iCtrlId,RDS_FORMVAL_2NDEDITENABLED,iEnable);

или

      int iCtrlId= … // Идентификатор поля ввода
      double dEnable= … // >0.0 – разрешить, <=0.0 - запретить
      rdsSetObjectDouble(Win,iCtrlId,RDS_FORMVAL_2NDEDITENABLED,dEnable);

Вызов команды для чтения

      int iCtrlId= … // Идентификатор поля ввода
      int iEnable=rdsGetObjectInt(Win,iCtrlId,RDS_FORMVAL_2NDEDITENABLED);

или

      int iCtrlId= … // Идентификатор поля ввода
      double dEnable=rdsGetObjectDouble(Win,iCtrlId,RDS_FORMVAL_2NDEDITENABLED);

Параметры и результат

Win(RDS_HOBJECT)
  Идентификатор вспомогательного объекта для работы с модальным окном, ранее созданного функцией rdsFORMCreate.
iCtrlId(int)
  Целый идентификатор поля ввода, присвоенный ему при вызове функции rdsFORMAddEdit.
iEnable(int)
  Целое число, указывающее на запрещение (нулевое значение) и разрешение (отличное от нуля значение) основного поля ввода.
dEnable(double)
  Вещественное число, указывающее на запрещение (нулевое или отрицательное значение) и разрешение (положительное значение) основного поля ввода.

Примечания

Эта команда управляет разрешением основного (правого) поля ввода в двойном поле, состоящем из собственно поля ввода справа и выпадающего списка слева. На нее реагируют только поля ввода типа RDS_FORMCTRL_LISTANDEDIT. Вместе с командой RDS_FORMVAL_ENABLED эта команда позволяет оперативно управлять состоянием компонентов двойного поля:

Команда RDS_FORMVAL_ENABLED | Команда RDS_FORMVAL_2NDEDITENABLED | Состояние поля
--- | --- | ---
разрешено | разрешено | И выпадающий список, и поле ввода разрешены
разрешено | запрещено | Выпадающий список разрешен, поле ввода запрещено
запрещено | не важно | И выпадающий список, и поле ввода запрещены

Чаще всего эту команду используют в функции обратного вызова функций открытия окна rdsFORMShowModalEx и rdsFORMShowModalServ для запрещения поля ввода при выборе отдельных вариантов в выпадающем списке.

Для передачи команды полю ввода можно использовать как целые функции rdsSetObjectInt и rdsGetObjectInt, так и вещественные rdsSetObjectDouble и rdsGetObjectDouble. Чаще всего используются именно целые функции – принимаемое и возвращаемое ими целое число трактуется по обычным правилам языка C: нулевое значение считается логической ложью (поле запрещено), все остальные – логической истиной (поле разрешено).

См. также

RDS_FORMCTRL_LISTANDEDIT, rdsFORMCreate, rdsFORMAddEdit, rdsSetObjectInt, rdsGetObjectInt, rdsSetObjectDouble, rdsGetObjectDouble, RDS_FORMVAL_ENABLED, RDS_FORMVAL_CHECK.