Лекция: Создание логической кисти функциями CreateSolidBrush, CreateBrushIndirect, CreatePatternBrush, CreateHatchBrush.

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

1. CreateBrushIndirect(lpLogBrushAsLOGBRUSH)-создает произвольную кисть. Аргумент lpLogBrush—это структура данных типа LOGBRUSH:TypeLOGBRUSHlbStyleAsLong'Стиль кисти lbColorAsLong' Цвет

lbHatchAsLong' Способ штриховки(орнамент) EndType

Стиль кисти lbStyle может иметь одно из следующих значений констант :

BS_SOLID=0 –сплошная кисть;

BS_NULL=1 –пустая кисть;

BS_HATCHED=2-штрихующая кисть;

BS_PATTERN=3 –кисть использует растровое изображение для заполнения фона;

BS_DIBPATTERN =5 –кисть использует аппаратно-независимый образец фона.

Если lbStyle=BS_SOLID, то значение поля штриховки lbHatch игнорируется. ЕслиlbStyle=BS_PATTERN, то поле lbHatch должно содержать дескриптор растрового изображения.

2. CreateHatchBrush(ByValnIndexAsLong, ByValcrColorAsLong) —создает штрихующую кисть. Например, создадим кисть с цветным орнаментом и заполнимим прямоугольник :Brush=CreateHatchBrush(hs_Cross, RGB(50,50,50)) OldBrush=SelectObject(MyDc, Brush)

CallRectangle(MyDc,50,50,500,400)'Рисуем прямоугольник

CallSelectObject(MyDc,OldBrush)CallDeleteObject(Brush)

3.CreateSolidBrush(ByValcrColorAsLong) –создает сплошную без орнамента кисть.

4.CreatePatternBrush(ByValhBitmapAsLong) –создает кисть, заполняющую область узором растрового изображения.


еще рефераты
Еще работы по информатике