Реферат: Windows
PAINTSTRUCT;
hdc - логический номер контекста устройства;
fErase - флаг, задающий необходимость стирания окна; rcPaint - описывает прямоугольник, ограничивающий
поврежденную область;
fRestore, fIncUpdate и rgbReserved предназначены для внутреннего использования Windows.
Для отображения пикселя используется подпрограмма
SetPixel. Еепрототип:
DWORD FAR PASCAL SetPixel( HDC, int, int, DWORD);
HDC - логический контекст устройства; следующие два параметра - координаты пикселя; последний параметр - цвет.
После завершения перерисовки, программа вызывает функцию EndPaint, чтобы вернуть контекст устройства дисплея Менеджеру Окон и сообщить, что окно восстановлено. Когда тот получает контекст устройства, он восстанавливает все его атрибуты по умолчанию, и контекст устройства готов к передаче информации любой программе, которой понадобится нарисовать окно. Подпрограмма EndPaint имеетпрототип:
void FAR PASCAL EndPaint(HWND, LPPAINTSTRUCT);
Рисование линий
Каждая линия имеет начальную и конечную точку, и GDI рисует линию так, начальная точка включается в линию, а конечная исключается из линии.
GDI имеет 4 подпрограммы для рисования линий: MoveTo, LineTo, PolyLine и Arc.
Подпрограмма MoveTo помещает пару координат XY в атрибут контекста устройства, который называется текущей позицией. Подпрограммаимеетпрототип:
DWORD FAR PASCAL MoveTo( HDC, int x1, int y1 );
Подпрограмма LineTo берет начальную точку из атрибута текущей позиции и рисует линию до конечной точки, передаваемой как параметр. После этого она устанавливает новое значение атрибута текущей позиции. Подпрограмма имеет прототип:
BOOL FAR PASCAL LineTo( HDC, int x1, int y1 );
Подпрограмма Polyline позволяет нарисовать ломанную линию, но для ее работы необходимо предварительно создать массив координат точек. Подпрограммаимеетпрототип:
BOOL FAR PASCAL Polyline( HDC, LPPOINT points, int num );
points - указатель на массив координат, котором координаты оси абсцисс и оси ординат чередуются; num - число пар координат в массиве.
Подпрограмма Arc позволяет нарисовать дуги эллипса. Передаваемые параметры определяют прямоугольник, ограничивающий фигуру, если бы она была полной, начальную точку и конечную. Подпрограммаимеетпрототип:
BOOL FAR PASCAL Arc( HDC,int,int,int,int,int,int,int,int);
Рисование закрашенных фигур
Для рисования закрашенных фигур существует семь
различных функций.
Функция Polygon соединяет расположенные последовательно точки с помощью текущего установленного в контексте устройства пера. Функцияопределенатак:
BOOL FAR PASCAL Polygon(HDC, LPPOINT, int);
HDC - логический номер контекста устройства;