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

Описания RDS

Приложения

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

А.4. Структуры RDS

А.4.10. RDS_FORMSERVFUNCDATA – параметр функции обратного вызова модального окна

# Приложения

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

### А.4. Структуры RDS

#### А.4.10. RDS_FORMSERVFUNCDATA – параметр функции обратного вызова модального окна

Структура RDS_FORMSERVFUNCDATA используется в качестве параметра пользовательской функции обратного вызова, указатель на которую передается в функцию открытия модального окна rdsFORMShowModalServ. Такая функция обратного вызова применяется для организации реакции в модальном окне, созданном функцией rdsFORMCreate, на изменение полей ввода, нажатие кнопок и т.п., а также для программного рисования в этом окне. В структуре RDS_FORMSERVFUNCDATA в пользовательскую функцию передается идентификатор события, возникшего в окне, идентификатор поля ввода, с которым связано событие, а также другая информация об этом событии. Пример использования функции обратного вызова в модальном окне и этой структуры приведен в §2.7.3 руководства программиста

      typedef struct {
        RDSINT32 Event;        // Событие (RDS_FORMSERVEVENT_*)
        RDSINT32 CtrlId;       // Идентификатор органа управления
        // Для RDS_FORMSERVEVENT_DRAW
        HDC dc;                // Контекст устройства для рисования (WinAPI)
        RDSINT32 Left,Top;     // Верхний левый угол зоны рисования
        RDSINT32 Width,Height; // Размеры зоны рисования
      } RDS_FORMSERVFUNCDATA;
      typedef RDS_FORMSERVFUNCDATA *RDS_PFORMSERVFUNCDATA;

Поля структуры

Event(RDSINT32)
  Идентификатор произошедшего в окне события. В этом поле находится одна из следующих констант:

  RDS_FORMSERVEVENT_CHANGE | Изменение одного или нескольких полей ввода. Если изменено одно поле ввода, в CtrlId будет находиться его идентификатор, если несколько (при первом открытии окна, когда сразу все поля получают начальные значения), в CtrlId будет записано значение −1.
  RDS_FORMSERVEVENT_DRAW | Программное рисование в одной из специальных областей окна (в CtrlId – идентификатор области).
  RDS_FORMSERVEVENT_CLICK | Нажатие кнопки (в CtrlId – идентификатор кнопки).

CtrlId(RDSINT32)
  Идентификатор поля ввода, кнопки или другого объекта модального окна, с которым связано произошедшее событие. Эти идентификаторы присваиваются объектам при их создании функцией rdsFORMAddEdit.
dc(HDC)
  Контекст устройства Windows (device context, HDC), на котором функция обратного вызова должна нарисовать изображение (только при Event, равном RDS_FORMSERVEVENT_DRAW). Это значение можно использовать в вызовах графических функций Windows API.
Left, Top(RDSINT32)
  Горизонтальная (Left) и вертикальная (Top) координаты верхнего левого угла специальной области рисования, созданной в окне (только при Event, равном RDS_FORMSERVEVENT_DRAW).
Width, Height(RDSINT32)
  Ширина (Width) и высота (Height) специальной области рисования, созданной в окне (только при Event, равном RDS_FORMSERVEVENT_DRAW).

См. также

rdsFORMShowModalServ, rdsFORMCreate, rdsFORMAddEdit.