Как
читатель уже знает, заполнение замкнутых
графических объектов происходит с помощью
текущей кисти. Программист может использовать
предопределенную кисть, а может создать свою
собственную, после чего сделать ее текущей с
помощью функции SelectObject().
Простейшим видом кисти является так
называемая сплошная кисть, которая создается с
помощью функции CreateSolidBrush():
WINGDIAPI HBRUSH WINAPI CreateSolidBrush(COLORREF);
Единственный аргумент этой функции -
цвет кисти (может, лучше сказать не кисти, а
краски?).
Штриховая кисть создается с помощью
функции CreateHatchBrush():
WINGDIAPI HBRUSH WINAPI CreateHatchBrush(int, COLORREF);
Первый аргумент этой функции - стиль
штриховки. Возможные стили приведены в таблице.
Стили штриховки
Стиль
штриховки |
Значение |
Описание |
Эффект |
HS_HORIZONTAL |
0 |
---- |
Горизонтальная штриховка |
HS_VERTICAL |
1 |
||||| |
Вертикальная штриховка |
HS_FDIAGONAL |
2 |
\\\\\ |
Наклонная слева направо штриховка |
HS_BDIAGONAL |
3 |
///// |
Наклонная справа налево штриховка |
HS_CROSS |
4 |
+++++ |
Штриховка крестиком |
HS_DIAGCROSS |
5 |
xxxxx |
Штриховка косым крестиком |
Второй аргумент указывает цвет
штриховки.
И наконец, с помощью функции CreatePatternBrush()
мы можем создать кисть, которая при заполнении
будет использовать bitmap. В wingdi.h она описана
следующим образом:
WINGDIAPI HBRUSH WINAPI CreatePatternBrush(HBITMAP);
Уже по типу аргумента видно, что
единственным аргументом этой функции является
хэндл bitmap'а.
Эти три функции при успешном завершении
возвращают хэндл созданной кисти. В том случае,
если произошла какая-то ошибка, возвращаемое
значение равно NULL. |