Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
38
Добавлен:
16.02.2016
Размер:
589.31 Кб
Скачать

Методы класса cdc

В этом разделе мы рассмотрим только наиболее часто используемые ме­тоды класса CDC.

Int AbortDoc();

Метод снимает текущее задание на печать и удаляет весь вывод приложения на данное устройство, выполненный после последнего вызова метода StartDoc. При возникновении ошибки метод возвращает отрицательное значение.

BOOL Агс( int xl, int yl, int х2, int у2, int хЗ, int уЗ, int x4, int y4); BOOL Агс( LPCRECT ipRect, POINT ptStart, POINT ptLnd);

Метод рисует дугу, являющуюся сегментом эллипса.

Действительная начальная точка дуги определяется как пересечение луча, исходящего из центра эллипса к указанной параметрами начальной точке, и самого эллипса. Действительная конечная точка дуги определяется аналогичным образом. Эллипс задается координатами прямоугольной области, в которую он вписывается.

Дуга рисуется по часовой стрелке. Значения параметров, определяющие размер прямоугольной области для эллипса, должны находиться в диапазоне от 2 до 32767.

При успешном завершении метод возвращает ненулевое значение.

Параметры:

xl, yl, х2, у2 - координаты верхнего левого и нижнего правого угла прямоугольной области, ограничивающей эллипс (в логических единицах). хЗ, уЗ - координаты начальной точки дуги. х4, у4 - координаты конечной точки дуги.

IpRect - координаты прямоугольной области, указываемые структурой LPRECT или объектом CRect.

ptStart - координаты начальной и конечной точки дуги, указываемые структypoft,POINT или объектом CPoint.

BOOL Chord( int xl, int yl, int x2, int у2, int x3, int y3, int x4, int у4 ); BOOL Chord( LPCRECT IpRect, POINT ptStart, FOIKTptEnd);

Метод отображает сегмент, образуемый пересечением эллипса и линии. Параметры (xl, у Г) и (х2, у2) указывают координаты верхнего левого и нижнего правого угла прямоугольника, в который вписывается эллипс. Параметры (хЗ, уЗ) и (х4, у4) указывают координаты линии, пересекающей эллипс. Сегмент отображается текущим пером и заполняется текущей кистью.

При успешном завершении метод возвращает ненулевое значение. void Draw3dRect( LPCRECT IpRect, COLORREF clrTopLeft, COLORREF clrBottomRight);

void Draw3dRect( int x, int y, int ex, int cy, COLORREF clrTopLeft, COLORREF clrBottomRight);

Метод рисует трехмерный прямоугольник. Верхняя и левая сторона прямоугольника отображаются цветом clrTopLeft, а нижняя и правая - цветом clrBottomRight.

void DrawDragRect( LPCRECT ipRect, SIZE size, LPCRECT ipRectLast, SIZE sizeLast, CBrush*pBrush = NULL, CBrush*pBrushLast = NULL);

Циклическое использование данного метода позволяет создать видимость перемещения прямоугольника по экрану. При каждом вызове метода DrawDragRect предыдущий прямоугольник стирается и рисуется новый прямоугольник. При первом вызове метода параметр IpRectLast должен быть равен NULL.

BOOL DrawEdge( LPRECT IpRect, UINT nEdge, UINT nFlags );

Метод используется для отображения в заданном стиле ребер прямоугольной области. При успешном завершении метод возвращает ненулевое значение.

Параметры:

IpRect - структура RECT, содержащая логические координаты прямоугольника.

nEdge - тип отображения внутреннего и внешнего ребра. Этот параметр задается комбинацией значений двух флажков: для внутреннего и для внешнего ребра.

nFlags - флажки, определяющие стороны отображаемой рамки.

Флажки для внутреннего и для внешнего ребра рамки могут принимать следующие значения:

BDR_RAISEDINNER, BDR_RAISEDOUTER - выпуклое ребро; BDR_SUNKENINNER, BDR_SUNKENOUTER - вдавленное ребро.

Параметр nEdge может принимать одно из следующих значений:

EDGE_BUMP (комбинация BDR_RAISEDOUTER и BDR_SUNKENINNER);

EDGE_ETCHED (BDR_SUNKENOUTER и BDR_RAISEDINNER); EDGE_RAISED (BDR_RAISEDOUTER и BDR_RAISEDINNER); EDGE_SUNKEN (BDR_SUNKENOUTER и BDRJSUNKENINNER).

Параметр nFlags определяет следующие типы: BF_RECT - вся рамка;

BF_LEFT - левая сторона рамки прямоугольной области; BF_BOTTOM - нижняя сторона; BF_RIGHT - правая сторона; BF_TOP - верхняя сторона; BF_TOPLEFT - верхняя и левая сторона; BF_TOPRIGHT - верхняя и правая сторона; BF_BOTTOMLEFT - нижняя и левая сторона; BF_BOTTOMRIGHT - нижняя и правая сторона.

Соседние файлы в папке VC++Баженова