пользователей: 21222
предметов: 10454
вопросов: 177450
Конспект-online
зарегистрируйся или войди через vk.com чтобы оставить конспект.
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

MFC-функції побудови простих графічних об’єктів.

1. Функция изменения положения текущего указателя

CPoint CDC :: MoveTo (int x, int y);

CPoint CDC :: MoveTo (POINT point);

где (x, y) или point - координаты точки, на которую изменяется положение тек-ного указателя. Использование очень простое:

memDC.MoveTo (100,100); // Перемещение текущего указателя в точку (100, 100)

В качестве параметра, возвращаемого функцией, выступает предварительное положен ния текущего указателя.

2. Функция отображения линий:

BOOL CDC :: LineTo (int x, int y);

BOOL CDC :: LineTo (POINT point);

Функция LineTo () обеспечивает проведение линии с точки положения тек-ного указателя в точку (x, y) или point. Чтобы провести красную плотную линию толщиной 3 пикселя, например с точки (10, 10) в точку (200,30), можно реализовать обработчик OnPaintLine () с таким кодом:

Использование LineTo ()

void CMainWin :: OnPaintLine ()

[CPen redPen (PS_SOLID, 3, RGB (255, 0,0)); // Определяем красное перо

memDC.SelectObject (& redPen); // Выбираем перо

memDC.MoveTo (100, 100); // Перемещаем текущий указатель

memDC.LineTo (250, 300); // Отражаем линию

InvalidateRect (NULL); // Обновляем все окно

]

3. Построение прямоугольников

BOOL CDC :: Rectangle (int x1, int y1, int x2, int y2);

BOOL CDC :: Rectangle (LPCRECT lpRect);

В этих функциях верхний левый угол прямоугольника описывается координатами (x1, y1), нижний правый угол - координатами (x2, y2). Второй вариант функции использует указатель на объект прямоугольника, который можно задать, например, следующим образом:

СRect a (100,100,300,300);

memDC.Rectangle (& a);

Еще один вариант прямоугольника задает функция RoundRect (). Отличием этой функции является закругления углов. Ширина и высота эллипса закругления задается дополнительно или непосредственно координатами, или точкой, с которой эти координаты получаются.

BOOL CDC :: RoundRect (int x1, int y1, int x2, int y2, int x3, int y3);

BOOL CDC :: RoundRect (LPCRECT lpRect, POINT point);

Построение прямоугольников

memDC.SelectObject (& redPen);

memDC.SelectObject (& yellowBrush);

CRect d (50,220,170,300)

memDC.Rectangle (& d); // Стандартный прямоугольник

CPoint p3 (50,50);

CRect e (200,220,270,300);

memDC.RoundRect (& e, p3); // Прямоугольник с закругленными углами

4. Полилиния, Блейз-сплайн.


22.06.2015; 09:38
хиты: 17
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2016. All Rights Reserved. помощь