Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
2. Для примусового оголошення змінних, щоб уникнути помилок в іменах змінних у вікні редактора коду в розділі General Declarations введемо наступну інструкцію:
Option Explicit
3. Для вибору типу фігури введемо змінну LineType, яку оголсимо в розділі General Declarations з типом Integer:
Dim LineType As Integer
Для довільної лінії змінна LineType буде набувати значення 1, для прямої лінії – 2, для кола – 3.
4. Створюємо процедуру обробки події вибору фігури Довільна лінія з пункту меню Малювання. Для цього переходимо в редактор коду, зі списку об’єктів, що розташований зліва в верхній частині вікна редактора вибираємо mnuLine і описуємо процедуру обробки події Click:
Private Sub mnuLine_Click()
mnuLine.Checked = True ' Встановлення відмітки в меню вибраної команди
mnuDrLine.Checked = False ' Скасування відмітки в меню вибраної команди
mnuCircle.Checked = False ' Скасування відмітки в меню вибраної команди
LineType = 1 ' Вибір Довільної лінії
End Sub
5. Збережіть проект.
6. Самостійно створіть процедури обробки події вибору фігур Пряма лінія і Коло з пункту меню Малювання.
Далі почнемо створювати процедури для малювання об’єктів. Для малювання кожної фігури потрібно натисканням лівої клавіші миші визначати початкову точку з координатами CurrentX, CurrentY. При цьому виникає подія MouseDown, а також змінній Button присвоюється значення 1, змінним X, Y присвоюються поточні значення координат курсору миші. В процедурі обробки події MouseDown необхідно щоб змінні CurrentX і CurrentY поточні значення X, Y у якості початкових. Властивість MousePointer визначатиме вигляд курсору.
7. Створимо процедуру обробки цієї події:
Private Sub Form_MouseDown(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
' Збереження координат точки, де була натиснута кнопка миші
' у змінних CurrentX і CurrentY
CurrentX = X
CurrentY = Y
' Зміна вигляду курсору на хрестик
MousePointer = 2
End Sub
8. Збережіть проект.
9. Запустіть проект і перевірте як він працює.
При пересуванні миші на формі повинно відбуватися малювання довільної лінії. Виникає подія MouseMove. Малювання лінії в тілі процедури відбувається методом Line. Синтаксис метода Line має такий вигляд:
object. Line (X1, Y1) – (X2, Y2), color, BF
object – назва об’єкту (необов’язковий параметр,у нашому випадку це форма, на якій ми малюэмо);
(X1, Y1) – координати початкової точки (коли використовуються змінні CurrentX і CurrentY, як координати початкової точки, то в методі Line їх можна не вказувати);
(X2, Y2) – координати кінцевої точки, до якої буде проведена лінія;
color – колір лінії (необов’язковий параметр);
B – малювання прямокутника;
F – заповнення кольором прямокутника.
10. Створимо процедуру обробки події MouseMove:
Private Sub Form_MouseMove(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
If LineType = 1 And Button = 1 Then
Line -(X, Y), vbBlack
End If
End Sub
11. Збережіть проект.
12. Запустіть проект і перевірте як він працює.
Малювання прямої лінії і кола повинно відбуватися при відпусканні клавіші миші. Подія MouseUp. Малювання кола в тілі процедури відбувається методом Circle. Синтаксис метода Circle має такий вигляд:
object. Circle (X, Y), radius, color
object – необов’язковий параметр;
(X, Y) – координати центру кола;
radius – радіус кола;
color – колір лінії кола;
13. Створимо процедуру обробки події MouseUp:
Private Sub Form_MouseUp(Button As Integer, _
Shift As Integer, X As Single, Y As Single)
' Малювання прямої лінії
If LineType = 2 And Button = 1 Then
Line -(X, Y), vbRed
End If
' Малювання кола
If LineType = 3 And Button = 1 Then
' Обчислення радіуса
Dim R As Single
R = Sqr((X - CurrentX) ^ 2 + (Y - CurrentY) ^ 2)
Circle (CurrentX, CurrentY), R, vbGreen
End If
' Зміна вигляду курсору на стрілку
MousePointer = 0
End Sub
14. Збережіть проект.
15. Запустіть проект і перевірте як він працює.
16. Самостійно додайте команду меню і створіть процедуру для малювання зафарбованого прямокутника.
17. Створимо процедуру обробки подій при виборі команди Очистити форму:
' Очищення форми
Private Sub mnuCls_Click()
Cls
End Sub
18. Створимо процедуру обробки подій при виборі команди Вихід:
' Вихід
Private Sub mnuExt_Click()
End
End Sub
19. Збережіть проект.
20. Запустіть проект і перевірте як він працює.
Дата публикования: 2014-12-28; Прочитано: 311 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!