Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 56


Простейшим видом кисти является так называемая сплошная кисть, которая создается с помощью функции CreateSolidBrush():

WINGDIAPI HBRUSH WINAPI CreatcSolidBrush(COI.ORRP.F):

64

Единственный аргумент этой функции - цвет кисти (может, лучше сказать не кисти, а краски?).

Штриховая кисть создается с помощью функции CreateHatchBrush():

WINUDIAPI HBRUSH WINAPI СгсаюНаюШшЩли. COLORREF);

Первый аргумент этой функции - стиль штриховки. Возможные стили приведены в табл. 12.

Второй аргумент указывает цвет штриховки.

И наконец, с помощью функции CreatePattemBrush() мы можем соз­дать кисть, которая при заполнении будет использовать bitmap. В wingdi.h она описана следующим образом:

WtNGDlAPf HHRUSH WINAPI CrcalcPattcrnBrush(HHITMAP);

Уже по типу аргумента видно, что единственным аргументом этой функции является хэндл bitmap'a.

Эти три функции при успешном завершении возвращают хэндл соз­данной кисти. В том случае, если произошла какая-то ошибка, возвра­щаемое значение равно NULL.

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

К большому моему сожалению, до изучения меню я не могу написать программу, в которой действия пользователя определялись бы его выбо­ром. Мне сейчас придется написать программу, которая только демонст­рирует вынод на экран различных графических примитивов.

Т а б л и ц а  12. Стили штриховки

Спин, штриховки

Значение

 

Описание

 

Эффект

 

HS HORIZONTAL HS VERTICAL HS_FDIAGONAL

 

0 1

2

 

liill

\v\\\

 

Горизонтальная штриховка Вертикальная штриховка Наклонная слева направо

 

HSJBDIAGONAL

 

3

 

Hill

 

штриховка Наклонная справа налево

 

HS_CROSS HS DIAGCROSS

 

4

5

 

+ —— }-+ xxxxx

 

штриховка Штриховка крестиком Штриховка косым крестиком

 

65

ДЕМОНСТРАЦИОННАЯ ПРОГРАММА

Ниже приведен текст программы, которая использует основные функ­ции для вывода на экран 10 000 пикселей, поверх них несколько линий разных стилей, после которых, в свою очередь, прорисовывает прямо­угольники и эллипсы:




Начало  Назад  Вперед



Книжный магазин