Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Создание логического пера функциями CreatePen, CreatePenIndirect




Пример работы с базовыми и штрихующими кистями.

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

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

1. CreateBrushIndirect (lpLogBrushAsLOGBRUSH)-создает произвольную кисть. Аргумент lpLogBrush—это структура данных типа LOGBRUSH:TypeLOGBRUSH lbStyleAsLong'Стиль кисти 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)

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

Call SelectObject(MyDc,OldBrush) Call DeleteObject(Brush)

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

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


Продемонстрировать работу с базовыми и штрихующими кистями.

PrivateSubCommand1_Click()

Dim MyDC AsLong, OldBrushAsLong, BrushAsLongMyDC= Form1.hdcFori%= 0 To5Call SelectObject(MyDC, GetStockObject(i)) Call Rectangle (MyDC, 10 + 60 * i, 30, 60 + 60 * i, 80)NextFori = 0 To5'Рисуем заштрихованные прямоугольники

Brush= CreateHatchBrush (i, RGB (255, 0, 0))OldBrush= SelectObject (MyDC,Brush)Call Rectangle (MyDC, 10 + 60 * i, 100, 60 + 60 * i, 150)Call SelectObject (MyDC,OldBrush)Call DeleteObject( Brush)NextCall ReleaseDC (hwnd, MyDC)

End SubPrivate Sub Form_Load() Caption= "Пример использования базовых и штрихующих кистей" BackColor= &HFFFFFF End Sub


Перо используется для вычерчивания прямых линий многогранников, окружностей, дуг и т.п. Перо характеризуется цветом линии, толщиной и стилем. По умолчанию используется перо черного цвета, толщинойв1 пиксель, и стиль PS_SOLID. В базовый набор инструментов входят три константы перьев: WHITE_PEN=6, BLACK_PEN=7 и NULL_PEN=8 (перо, которое не рисует). Любой из этих инструментов выбирается и устанавливается в контекст устройства функциями GetStockObjectиSelectObject. Логическое перо, имеющее собственный стиль, цвет и толщину, создается одной из следующих функций.

1. CreatePenIndirect(lpLogPenAsLOGPEN) AsLong -создает перо, определенное заданной структурой типа LOGPEN:

TypeLOGPEN lopnStyleAsLong' Стиль пера lopnWidthAsPOINTAPI ' Ширина пера lopnColorAsLong' Цвет пера EndType В структуре POINTAPI y-координата не используется. Поле lopnStyle должно содержать одну из 6 констант стилей: PS_SOLID = 0 {сплошной}; PS_DASH = 1 {пунктир}; PS_DOT = 2 {точки}; PS_DASHDOT = 3 {точка-тире}; PS_DASHDOTDOT = 4 {точка-точка-тире}; PS_NULL = 5 {невидимые линии}; PS_INSIDEFRAME = =6. При этом следует отметить, что стили PS_DASH, PS_DOT, PS_DASHDOT, PS_DASHDOTDOT определены только при толщине пера, равной единице. Толщина пера задается целым числом.

CreatePen (ByValnPenStyleAsLong, ByValnWidthAsLong, ByValcrColorAsLong) –создает перо явным определением параметров.





Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 480; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.