Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Приклади створення графічних об’єктів




1. Куб із зафарбованою гранню (Мал. 6).Колір зафарбування змінюється з інтервалом, що заданий властивостями таймера. Довжина сторони Gran = 2000 твіпів. Командна кнопка cmdClick включає таймер на ім’я Timi. У процедурі, пов’язаній з таймером, обирається колір зафарбування (випадковий) та запускається процедура малювання фігури Draw. Креслення виконується методом Line.

(X2;Y2)
(X1;Y1)

Мал. 6.

Private Sub Draw()

Const X1 As Long = 2000

Const Y1 As Long = 1500

Const X2 As Long = 3000

Const Y2 As Long = 600

Const Gran As Long = 2000

FillStyle = 0

DrawWidth = 1

DrawStyle = 0

Line (X1, Y1)-Step(Gran, Gran),, B

Line (X2, Y2)-Step(Gran, 0)

Line -Step(0, Gran)

Line -(X1 + Gran, Y1 + Gran)

Line (X2 + Gran, Y2)-(X1 + Gran, Y1)

Line (X1, Y1)-(X2, Y2)

DrawWidth = 1

DrawStyle = 2

Line (X1, Y1 + Gran)-(X2, Y2 + Gran)

Line -Step(0, -Gran)

Line (X2, Y2 + Gran)-Step(Gran, 0)

End Sub

Private Sub cmdClick_Click()

Timi.Enabled = True

End Sub

Private Sub Timi_Timer()

FillColor = vbWhite * Rnd

Draw

End Sub

2. Піраміда (Мал. 7).На початку процедури очищується форма для малювання, обирається колір ліній. Виконується малювання суцільних ліній, стиль ліній DrawStyle = 0, далі малюються пунктирні лінії стилем DrawStyle = 2.

Мал. 7.

Sub Form_Load()

Cls

ForeColor = vbBlack

DrawStyle = 0

Line (2500, 2500)-Step(1000, 3000)

Line (2500, 2500)-Step(-1500, 4000)

Line -Step(1500, 0)

Line -(3500, 5500)

Line (2500, 2500)-Step(0, 4000)

DrawStyle = 2

Line (2500, 2500)-Step(-500, 3000)

Line -Step(1500, 0)

CurrentX = CurrentX - 1500

Line -Step(-1000, 1000)

End Sub

3. Циліндр із зафарбованими гранями (Мал. 8).У процедурі, пов’язаній з таймером Timer1, запускається процедура малювання фігури Cylinder. На початку процедури задається значення π, очищується форма для малювання, обирається колір ліній і колір зафарбування (випадковий). Виконується малювання суцільних ліній, стиль ліній DrawStyle = 0, далі малюється пунктирною лінією нижній еліпс стилем DrawStyle = 1. Еліпс нижньої грані малюється пунктиром повністю, щоб було виконане зафарбовування.

Мал. 8.

Private Sub Cylinder()

Const Pi = 3.14

Cls

ForeColor = vbBlack

FillStyle = 0

FillColor = vbWhite * Rnd

DrawStyle = 0

Circle (2000, 1000), 1000,,,, 1 / 3

Line (1000, 1000)-(1000, 4000)

Line (3000, 1000)-(3000, 4000)

Circle (2000, 4000), 1000,, Pi, 2 * Pi, 1 / 3

DrawStyle = 1

Circle (2000, 4000), 1000,,,, 1 / 3

End Sub

Private Sub Timer1_Timer()

Cylinder

End Sub

4. Концентричні кола, колір яких змінюється за таймером (Мал. 9).Командна кнопка Command1 запускає таймер Timer1. У процедурі, пов’язаній з таймером Timer1, запускається процедура малювання 250 кіл CircleDraw. Кола випадкового кольору малюються у графічному вікні PictureBox на ім’я P. Координати центра кіл визначаються як половина ширини та висоти графічного вікна, радіус першого кола дорівнює x/3 і для кожного наступного збільшується на 10 твіпів.

Мал. 9.

Private Sub Command1_Click()

Timer1.Enabled = True

End Sub

Sub CircleDraw()

Dim r As Long, g As Long, b As Long

Dim x As Long, y As Long, rad As Long

Dim i As Integer

P.DrawStyle = 2

P.DrawWidth = 2

x = P.ScaleWidth / 2

y = P.ScaleHeight / 2

rad = x / 3

For i = 1 To 250

r = 255 * Rnd

g = 255 * Rnd

b = 255 * Rnd

P.Circle (x, y), rad, RGB(r, g, b)

rad = rad + 10

Next

End Sub

Private Sub Timer1_Timer()

CircleDraw

End Sub

5. Форма з командною кнопкою, що збільшує свій розмір після кожного клацання на ній. Процедура, пов’язана з формою, запускає процедуру CenterButton для центрування кнопки на ім’я C у формі та форми на екрані. CenterButton також перевіряє відстань від краю кнопки до краю форми, якщо ця відстань менше 500 твіпів, розміри форми збільшуються на 500.Процедура обробки події клацання на кнопці збільшує розміри кнопки на 300 твіпів і розмір шрифту на 3 пункти, в разі збільшення розмірів форми до величини «розмір екрана - 2000 твіпів» на екран виводиться MsgBox "Хватит!".

Private Sub C_Click()

If Screen.Height - Height < 2000 Or Screen.Width - Width < 2000 Then

MsgBox "Хватит!"

End

End If

C.Height = C.Height + 300

C.Width = C.Width + 300

C.FontSize = C.FontSize + 3

CenterButton

End Sub

Sub CenterButton()

If C.Left <= 500 Or C.Top <= 500 Then

Width = Width + 500

Height = Height + 500

End If

C.Left = (ScaleWidth - C.Width) / 2

C.Top = (ScaleHeight - C.Height) / 2

Left = (Screen.Width - Width) / 2

Top = (Screen.Height - Height) / 2

End Sub

Private Sub Form_Load()

CenterButton

End Sub




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


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


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



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




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