Перемещение квадрата

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Перемещение квадрата

Сообщение _Мика_ » 10.11.2004 (Ср) 10:41

Че-то меня заклинило, ни как во голову нелезет!!
Короче есть шап (прямоугольник), и надо сделать им ну типа выделения (как пайнте).

вот мой код но он очень странно работает! :D
Код: Выделить всё
Dim Edit As Boolean
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Shape1.Visible = True
Edit = True
Shape1.Left = X
Shape1.Top = Y
Shape1.Width = X
Shape1.Height = Y
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Edit = True Then
Shape1.Width = X
Shape1.Height = Y
End If
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Edit = False
End Sub

-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 10.11.2004 (Ср) 10:53

Код: Выделить всё
Dim Edit As Boolean
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Shape1.Visible = True
Edit = True
Shape1.Left = X
Shape1.Top = Y
Shape1.Width = 0
Shape1.Height = 0
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
On Error Resume Next
If Edit = True Then
    Shape1.Width = X - Shape1.Left
    Shape1.Height = Y - Shape1.Top
End If
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Edit = False
End Sub


Пока он не тянется влево :)
Поэтому лучше сделать прямоугольник из 4 line'ов и ручками вычислять координаты прямоугольника, из них составленного. Пример нужен? :lol:

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 10.11.2004 (Ср) 11:00

Блин :D спасибо! А я делал так
Код: Выделить всё
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
On Error Resume Next
If Edit = True Then
    Shape1.Width = X - Shape1.Width
    Shape1.Height = Y - Shape1.Height
End If
End Sub
:roll:
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 10.11.2004 (Ср) 11:04

Бывает :)

Но прямоугольник всё же ещё не перемещается "левее своего лева". Надо доделать код :)

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 10.11.2004 (Ср) 11:12

Это понятно! Мне в принцапи этого достаточно
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 10.11.2004 (Ср) 18:12

А вот мой примерчик (если вдруг станет не достаточно) + небольшая "прическа", чтоб совсем на MS Paint похоже было :lol:

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 10.11.2004 (Ср) 18:13

А вот мой примерчик (если вдруг станет не достаточно) + небольшая "прическа", чтоб совсем на MS Paint похоже было :lol:

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 10.11.2004 (Ср) 19:17

Ну мне вообще это нужно было не для пайнта, это я так к примеру, чтоб понятно было, но все равно спасибо :D
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList