КАТЕГОРИИ: Архитектура-(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.
Мал. 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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |