IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Рисование графа
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?

кроме того, можно попасть не точно в центр круга, обозначающего точку.. и тогда ее точные координаты по данному сравнению не будут найдены


--------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 6.2.2012, 8:25