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

Описания RDS

Приложения

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

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

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

А.5.28.7. rdsFORMShowModalServ – открыть окно с расширенной функцией обратного вызова

# Приложения

## Приложение А. Функции, константы и структуры 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 – пользователь закрыл окно кнопкой «OK», 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.