Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.28. Вспомогательный объект для работы с модальными окнами
А.5.28.6. rdsFORMShowModalEx – открыть окно с функцией обратного вызова
Функция rdsFORMShowModalEx открывает модальное окно, описанное указанным вспомогательным объектом, и не возвращает управления вызвавшей программе до закрытия окна. При изменении пользователем значения любого поля вызывается указанная в параметрах функция.
BOOL RDSCALL rdsFORMShowModalEx( RDS_HOBJECT Win, // Объект RDS_VHo CheckFunc // Функция реакции на изменения );
Тип указателя на эту функцию
RDS_BHoCb3
Параметры
- Win (RDS_HOBJECT)
- Идентификатор вспомогательного объекта для работы с модальным окном, ранее созданного функцией rdsFORMCreate.
- CheckFunc (указатель на функцию: RDS_VHo)
- Указатель на функцию, которую нужно вызывать при любом изменении полей ввода, или
NULL, если такая функция не нужна. Функция должна иметь следующий вид:
void RDSCALL имя_функции(RDS_HOBJECT win);
В параметре win этой функции передается идентификатор вспомогательного объекта, поле ввода в окне которого изменилось.
Возвращаемое значение
TRUE – пользователь закрыл окно кнопкой «», FALSE – кнопкой «».
Примечания
Эта функция открывает окно, описанное объектом Win, и ждет, пока пользователь не закроет его. Пользователь может изменить любые поля, ввод в которые не запрещен. Если в параметре CheckFunc передан указатель на функцию обратного вызова, при изменении любого поля эта функция будет автоматически вызываться. В функцию обратного вызова передается идентификатор объекта-окна, и в ней можно, например, управлять разрешенностью каких-либо полей ввода в зависимости от значений, введенных в другие. Внутри функции обратного вызова нельзя определить, какое именно поле ввода изменилось – если эта информация требуется для организации желаемого пользовательского интерфейса, вместо функции rdsFORMShowModalEx следует использовать rdsFORMShowModalServ, поскольку ее функция обратного вызова обладает расширенными возможностями.
Пример
Пример использования функции rdsFORMShowModalEx приведен в §2.7.2 руководства программиста.
См. также
rdsFORMCreate, rdsFORMAddEdit, rdsFORMAddTab, rdsFORMShowModalServ, RDS_FORM_SHOWMODAL.