Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.19. Графические функции
Описываются функции, позволяющие программно рисовать изображение блока в окне подсистемы (§2.10) и строить различные изображения на специальных панелях вспомогательного объекта создания окон (§2.7.3 руководства программиста).
А.5.19.1. Применимость графических функций
Графические функции RDS могут вызываться только из функция модели блока и только в том случае, если модель в данный момент может что-либо рисовать. Фактически, есть всего две ситуации, в которых можно использовать графические функции:
- при программном рисовании внешнего вида блока в реакциях его модели на события RDS_BFM_DRAW и RDS_BFM_DRAWADDITIONAL;
- при рисовании произвольных изображений на специальных панелях в модальных окнах, открываемых функцией rdsFORMShowModalServ.
Во всех остальных случаях вызовы графических функций игнорируются RDS. Программное рисование внешнего вида блока подробно рассматривается в §2.10, рисование на панелях модальных окон – в §2.7.3 руководства программиста.
Во всех перечисленных выше случаях в функцию модели тем или иным способом передается контекст устройства Windows (device context, HDC), на котором необходимо нарисовать изображение, поэтому вместо графических функций RDS всегда можно использовать обычные графические функции Windows API. Функции RDS могут быть полезны тем, что они
- несколько упрощают выбор линий и заливки геометрических фигур;
- дают доступ к рисованию стандартных иконок RDS (rdsXGDrawStdIcon) и картинки блока (rdsXGDrawBlockPicture);
- в них не нужно указывать контекст устройства – RDS самостоятельно определяет, где рисовать изображение.
Вызовы графических функций RDS, графических функций Windows API и любых других функций можно совмещать в одной программе.
Во всех графических функциях RDS, как и во всех функциях Windows, координаты задаются в точках экрана, горизонтальная ось направлена слева направо, вертикальная – сверху вниз.