home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2004 April
/
CMCD0404.ISO
/
Software
/
Demo
/
conceptdraw
/
data1.cab
/
Samples__Basic
/
SimpleDrawing
/
DrawSpline
/
DrawSpline.cdb
next >
Wrap
Text File
|
2004-02-13
|
5KB
|
69 lines
'Объявление процедуры DrawWave, тело которой будет определено ниже.
Declare Sub DrawWave(x1 As Double, y1 As Double)
Sub DrawSpline()
Dim active_page As Page 'Ссылка на активную страницу текущего документа.
Dim new_Spline As Shape 'Ссылка на объект-шэйп, представляющий новый сплайн.
Dim i As integer 'Счетчик цикла.
'Получаем ссылку на активную страницу текущего документа. Используем глобальную переменную thisDoc
'для доступа к объекту Document.
Set active_page = thisDoc.ActivePage()
'Очистить активную страницу документа от всех находящихся на ней сейчас шэйпов.
active_page.RemoveAllShapes()
'Создаем шэйп, изображающий "волны".
'Построение шэйпа происходит между двумя функциями, объявляющими о начале
'создания шэйпа (метод BeginShape объекта Page) и о завершении его создания
'(метод EndShape объекта Page). Ссылка на строящийся шэйп присваивается
'переменной new_Spline. Шэйп состоит из нескольких геометрий,
'каждая из которых является сплайном. Каждая геометрия создается в процедуре
'DrawWave и добавляется в шэйп new_Spline.
'Построение объекта происходит на активной странице данного документа thisDoc.ActivePage
Set new_Spline = active_page.BeginShape()
'Устанавливаем цвет линии объекта, используя индексное представление цвета.
'new_Spline.PenColor возвращает ссылку на объект типа Color. Эта ссылка не
'присваивается промежуточной переменной. Она сразу используется для обращения
'к свойству Index полученного объекта.
new_Spline.PenColor.Index=13
'Устанавливаем толщину линии объекта.
new_Spline.PenWeight=12
'Устанавливаем Pattern линии объекта.
new_Spline.PenPattern=1
'Вызов процедуры DrawWave. Она добавляет в шэйп еще один сплайн.
DrawWave(200,1000)
DrawWave(350,1100)
DrawWave(200,1200)
DrawWave(350,1300)
DrawWave(200,1400)
active_page.EndShape()
'Построение замкнутого сплайна, изображающего "Солнце".
'Ссылки на шэйп, которые возвращаются методами SplineStart и SplineTo
'сразу используются для изменения свойств объекта.
'Метод SplineStart задает координаты первой точки сплайна (два первых
'параметра) и координаты первой направляющей (третий и четвертый параметры).
active_page.BeginShape()
active_page.SplineStart(1000,850,1000,650).FillColor.Index = 1
'Построение первого сегмента сплайна. Метод SplineTo задает координаты
'конца сегмента сплайна (два первых параметра) и координаты направляющей
'конца сегмента (третий и четвертый параметры). Началом сегмента служит
'текущая точка, заданная при предыдущем вызове метода SplineTo или SplineStart.
'Свойство PenPattern объекта устанавливается равным 0. Линия сплайна
'не будет отображаться.
active_page.SplineTo(1300,850,1300,650).PenPattern = 0
active_page.SplineTo(1000,850,1000,1050)
active_page.EndShape()
End Sub
'Тело процедуры DrawWave
Sub DrawWave(x1 As Double, y1 As Double)
thisDoc.ActivePage.SplineStart(x1,y1,x1,y1+200)
thisDoc.ActivePage.SplineTo(x1+400,y1,x1+400,y1-200)
thisDoc.ActivePage.SplineTo(x1+800,y1,x1+800,y1-200)
thisDoc.ActivePage.SplineTo(x1+1200,y1,x1+1200,y1-200)
thisDoc.ActivePage.SplineTo(x1+1600,y1,x1+1600,y1-200)
end Sub