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