BOOL SetViewportOrgEx(
НDC hdc, //дескриптор контекста отображения
int nXOrigin, II новое значение для sWinOrg
int nYOrigin, II новое значение для yWlnOrg,
LPOINT Ippt II указатель на структуруPOINT
);
Функция SetWindowOrgEx определяет, какая точка окна отображает начало координат области просмотра (0,0).
BOOL SetWindowOrgEx (
НDChdc, //дескриптор контекста отображения
Int xWinOrg, II новое значение для xWinOrg
Int yWinOrg, II новое значение для yWinOrg
LPOINT Ippt II указатель на структуруPOINT
);
В структуру lppt записываются старые координаты начала системы координат.
Как правило, Вы изменяете либо начало физической, либо начало логической системы координат, но можете сделать и то и другое (с целью тренировки сообразительности).
По смыслу переменные xWinOrg, yWinOrg – логические координаты, они могут быть только отрицательными.
Рисунок 5.2. Вид координатной системы после переключения в метрический режим | Рисунок 5.3. Метрическая система координат. |
5.6.2 Метрические режимы отображения MM_LOMETRIC, MM LOENGLISH, MM_HIENGLISH и MM_TWIPS.
В этих режимах работают полные формулы преобразования координат. После переключения в метрический режим, с помощью функции:
Int SetMapMode(
HDC hdc, // дескриптор контекста отображения
int nMapMode // режим отображения
);
система координат примет очень странный вид (рис. 5.2). Координаты у могут быть только отрицательными.
Перед перемещением начала координат, следует определить размеры клиентской части окна; cxClient, cyClient, а затем вызвать уже знакомую функциюSetViewportOrg. Для перемещения начала координат в нижний левыйугол параметры функции будут следующими:
SetViewportOrg (hdc, 0, cyClient);
Внимание! CyClient>0, так как мы переносим начало физической системы координат. Система координат примет привычный вид.
5.6.3 Режимы MM_ISOTROPIC, MM_ANISOTROPIC.
Эти режимы, помимо прочего, допускают изменение масштаба координатных осей и их ориентации. С этойцелью используются функции:
Дата добавления: 2017-01-26; просмотров: 1376;