Положение графического указателя, который является невидимым аналогом текстового курсора, задается при помощи функции MoveToEx(hDC. X. у, (LPPOIND&OldPos). По умолчанию координаты указателя равны (0,0) - это левый верхний угол рабочей области окна. Заметим, что при выполнении функции MoveToEx() старая позиция указателя заносится в переменную POINT OldPos. Если последний параметр функции MoveToEx() равен NULL, то старая позиция графического указателя нигде не сохраняется. При выполнении функции Li пеТо() указатель перемещается в конец нарисованного отрезка. Таким образом, последовательность вызовов функции Li пеТо() нарисует ломаную линию, а не лучи, выходящие из общего центра.
Создание элементов контекста Программист может заменить элемент контекста дескриптором однотипного объекта, имеющего другие атрибуты. Для изменения заданных по умолчанию атрибутов изображения необходимо создать новый объект (например, перо) и при помощи функции Sei ectObject () заменить соответствующий элемент в контексте устройства. Созданному объекту, как и контексту, тоже выделяется место в памяти. Когда необходимость в созданном объекте отпадает, он уничтожается при помощи функции DeleteObjecK). В Windows 3.1 завершение приложения без уничтожения объектов контекста приводило к утечке памяти. В 32-разрядных системах память в этом случае освобождается автоматически, но все же принято освобождать ее явно.
Теперь следует на конкретном примере рассмотреть процесс создания пера и кисти. Кисть определяет способ закраски рабочей области окна и внутренних областей замкнутых фигур, а перо - цвет, толщину и тип линий. Так, если в контексте заданы синяя кисть и красное перо, то при выводе примитива RectangleChdc. 10.10.100.50) на экране появится синий прямоугольник, обведенный красной рамкой. При регистрации оконного класса в поле hbrBackground структуры WNDCLASS можно задавать дескриптор той кисти, которая будет определять закраску рабочей области окна.
Перо создается функцией CreatePen, синтаксис которой приведен ниже: