[ Закрашенный СЕКТОР]
BOOL Pie( int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4 );
или
BOOL Pie( LPCRECT lpRect, POINT ptStart, POINT ptEnd );
Функция рисует текущим пером и закрашивает текущей кистью сектор (против ч.с) внутри прямоугольника: lpRect или (x1,y1; x2,y2) от начальной точки ptStart; (x3,y3) до конечной точки ptEnd; (x4,y4).
[ ЗакрашеннАЯ ЗАМКНУТАЯ ОБЛАСТЬ ]
BOOL Polygon( LPPOINT lpPoints, int nCount );
Функция рисует текущим пером и закрашивает текущей кистью замкнутую область, ограниченную отрезками, которые задаются точками массива lpPoints, количеством nCount.
Пример использования графических функций класса CClientDC.
CClientDC MyDC(GetDlgItem(IDC_STATIC1));
// создали объект класса CClientDC, который инициализирует графическое
//окно в элементе диалога приложения с идентификатором IDC_STATIC1.
CRect Rect; // объявили объект класса CRect
CWnd *pWnd = MyDC.GetWindow();
// инициализировали pWnd как указатель на окно, закрепленное за объектом
//MyDC(с идентификатором IDC_STATIC1)
pWnd->GetClientRect(&Rect);
// передали объекту Rect координаты этого окна, т.е. определили область
//экрана, где будем выводить графику.
MyDC.FillSolidRect( &Rect, RGB(50,100,150) );
// закрасили прямоугольник Rect
int w, h;
w = Rect.Width()/3;
// определили ширину прямоугольника Rect и уменьшили ее в 3 раза
h = Rect.Height()/4;
// определили высоту прямоугольника Rect и уменьшили ее в 4 раза
CRect SmallRect = Rect;
//инициализировали малый прямоугольник, объявили его равным
//прямоугольнику Rect
SmallRect.DeflateRect( w, h );
// уменьшили ширину и высоту малого прямоугольника до значений w и h
//соответственно, сохраняя координаты центральной точки прямоугольника.
CBrush Br (RGB(100,0,150)); // инициализировали кисть
MyDC.SelectObject(&Br); // выбрали ее
MyDC.Ellipse( &SmallRect );
// изобразили закрашенный эллипс выбранной кистью, вписанный в малый
//прямоугольник.
Рис. 1. Полученное изображение
Поделитесь с Вашими друзьями: |