Приложения
Приложение А. Функции, константы и структуры 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.