Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.28. Вспомогательный объект для работы с модальными окнами
А.5.28.15. Команда RDS_FORMVAL_ENABLED – разрешение и запрещение всего поля ввода
Команда RDS_FORMVAL_ENABLED разрешает или запрещает все поле ввода целиком, со всеми его компонентами и дополнительным флагом, если он есть. С помощью этой команда можно также узнать, разрешено ли указанное поле в данный момент.
Вызов команды для установки
int iCtrlId= … // Идентификатор поля ввода int iEnable= … // 1 – разрешить, 0 - запретить rdsSetObjectInt(Win,iCtrlId,RDS_FORMVAL_ENABLED,iEnable);
или
int iCtrlId= … // Идентификатор поля ввода double dEnable= … // >0.0 – разрешить, <=0.0 - запретить rdsSetObjectDouble(Win,iCtrlId,RDS_FORMVAL_ENABLED,dEnable);
Вызов команды для чтения
int iCtrlId= … // Идентификатор поля ввода int iEnable=rdsGetObjectInt(Win,iCtrlId,RDS_FORMVAL_ENABLED);
или
int iCtrlId= … // Идентификатор поля ввода double dEnable=rdsGetObjectDouble(Win,iCtrlId,RDS_FORMVAL_ENABLED);
Параметры и результат
- Win (RDS_HOBJECT)
- Идентификатор вспомогательного объекта для работы с модальным окном, ранее созданного функцией rdsFORMCreate.
- iCtrlId (int)
- Целый идентификатор поля ввода, присвоенный ему при вызове функции rdsFORMAddEdit.
- iEnable (int)
- Целое число, указывающее на разрешение (отличное от нуля значение) или запрещение (нулевое значение) поля.
- dEnable (double)
- Вещественное число, указывающее на разрешение (положительное значение) или запрещение (нулевое или отрицательное значение) поля.
Примечания
Эта команда управляет разрешением всего поля ввода. В разрешенное поле пользователь может вводить данные, запрещенное поле заблокировано (при этом оно обычно изображается серым цветом).
Для передачи команды полю ввода можно использовать как целые функции rdsSetObjectInt и rdsGetObjectInt, так и вещественные rdsSetObjectDouble и rdsGetObjectDouble. Чаще всего используются именно целые функции – принимаемое и возвращаемое ими целое число трактуется по обычным правилам языка C: нулевое значение считается логической ложью (поле запрещено), все остальные – логической истиной (поле разрешено).
Чаще всего эта команда используется в функции обратного вызова функций открытия окна rdsFORMShowModalEx и rdsFORMShowModalServ для разрешения и запрещения одних поля ввода в зависимости от значений, введенных в другие.
Пример
Пример использования команды RDS_FORMVAL_ENABLED приведен в §2.7.2 руководства программиста.
См. также
rdsFORMCreate, rdsFORMAddEdit, rdsSetObjectInt, rdsGetObjectInt, rdsSetObjectDouble, rdsGetObjectDouble.