Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
| nameless |
29.4.2009, 16:32
Сообщение
#1
|
|
Пользователь Группа: Пользователи Сообщений: 56 Регистрация: 3.11.2008 Пользователь №: 20 879 |
Всем привет. Задача состоит в том чтобы по левому щелчку на форме рисовалась вершина, если щелкнуть по двум разным вершинам то между ними должно появится ребро
Код Dim x_coords(1 To 10) As Single Dim y_coords(1 To 10) As Single Dim i, k As Integer Dim z(1 To 2) As Single Dim z_(1 To 2) As Single Private Sub Form_Load() Form1.Scale (-1000, 1000)-(1000, -1000) i = 1 End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) If Point(x, y) = vbBlack Then k = k + 1 For q = 1 To 10 If x_coords(q) = x Then z(k) = x_coords(q) z_(k) = y_coords(q) End If Next q End If If (i <= 10 And Point(x, y) <> vbBlack) Then x_coords(i) = x y_coords(i) = y FillStyle = vbSolid FillColor = vbBlack Circle (x_coords(i), y_coords(i)), 10 i = i + 1 End If If (k = 2) Then Line (z(1), z_(1))-(z(2), z_(2)) k = 0 End If End Sub Точки рисует, а вот с ребрами проблема. |
| PolPoll |
1.5.2009, 20:14
Сообщение
#2
|
![]() :) Группа: Главные администраторы Сообщений: 5 858 Регистрация: 24.11.2005 Из: Москва Пользователь №: 5 327 |
i начальное значение получает.... а k?
кроме того, можно попасть не точно в центр круга, обозначающего точку.. и тогда ее точные координаты по данному сравнению не будут найдены -------------------- |
![]() ![]() |
|
Текстовая версия | Сейчас: 23.5.2012, 4:12 |