Приложения
Приложение А. Функции, константы и структуры 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).
См. также