Visual Basic 6. Руководство разработчика


Функции рисования - часть 3


Таблица 13.8. Значения параметра nPenStyle функции CreatePenQ

Константа

Значение

PS_SOLID

0

PS_DASH

1

PS_DOT

2

PS_DASHDOT

3

PS_NULL

5

PS_DASHDOTDOT

4

PS_JNSIDEFRAME

6

 

Для создания сплошного пера красного цвета шириной два пикселя необходимо вызвать функцию CreatePen() со следующими параметрами:

myPen = CreatePen (0, 2, RGB (255, 0, 0))

Создание объекта Pen не означает, что данный объект будет автоматически использоваться в последующих операциях вывода графики. Чтобы использовать новое перо в дальнейшем, "свяжите" объект Pen с контекстом устройства, в котором он применяется. Вызовите для этого функцию Select0bject().

Public Declare Function Select0bject Lib "gdi32" Alias _

"SelectObject" (ByVal hdc As Long, ByVal h0bject As _

Long) As Long

Первый параметр — дескриптор контекста устройства, в котором будет выпол­няться процедура рисования, а второй параметр — дескриптор объекта Pen. Чтобы указать, что объект myPen будет использоваться в последующих операциях, вызовите такую функцию:

Select0bject Forml.hDC, myPen

После того как этот оператор выполнится, функции

Line() и Ellipse() смогут использовать перо myPen при выводе изображений в контекст устройства. Анало­гичным объекту Pen является объект Brush, который используется для заливки областей (эта процедура будет рассмотрена позже). Воспользуемся функцией CreateSolidBrush()

для создания объекта Brush.

Public Declare Function CreateSolidBrush Lib "gdi32" Alias _

"CreateSolidBrush" (ByVal crColor As Long) As Long

Цвет кисти задается функцией RGB() или свойством Color в диалоговом окне Color. Чтобы использовать объект Brush в дальнейших операциях, выберите его в контексте устройства с помощью функции SelectObject().

VB6 в действии: проект APIDraw

В проекте APIDraw показана работа графических API-функций, рассмотренных в предыдущем параграфе. APIDraw - достаточно простое приложение, которое рисует круг, эллипс и описанные вокруг них (ограничивающие) прямоугольники (рис. 13.11). В следующем параграфе рассмотрена процедура заливки созданных изображений.




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



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