Как сделать перемещаемый прямоугольник с изменением ширины/высоты? - VB

Узнай цену своей работы

Формулировка задачи:

Добрый день! В экселе есть фигурки-примитивы, типа прямоугольника, который можно двигать по листу. А также, можно менять размеры прямоугольника. Какими средствами подобное можно проделать на форме в VB6? Т.е. отрисовываем прямоугольник, средствами Shape к примеру, а вот как потом менять его размеры и двигать по форме? Или чем лучше рисовать? Подскажите пожалуйста, может кто видел где-то нечто готовое?

Решение задачи: «Как сделать перемещаемый прямоугольник с изменением ширины/высоты?»

textual
Листинг программы
'Shape : S1,L1
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
    If X > S1.Left And X < S1.Left + S1.Width And Y > S1.Top And Y < S1.Top + S1.Height Then
         L1.Visible = True
         L1.Move S1.Left + S1.Width - L1.Width / 2, S1.Top + S1.Height - L1.Height / 2
    Else
         L1.Visible = False
    End If
End If
End Sub
 
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
On Error Resume Next
If Button = 1 Then
    If L1.Visible = False Then
        If X > S1.Left And X < S1.Left + S1.Width And Y > S1.Top And Y < S1.Top + S1.Height Then
            S1.Move X - S1.Width / 2, Y - S1.Height / 2
        End If
    Else
        If X > L1.Left And X < L1.Left + L1.Width And Y > L1.Top And Y < L1.Top + L1.Height Then
            L1.Move X - L1.Width / 2, Y - L1.Height / 2
            S1.Move S1.Left, S1.Top, L1.Left + L1.Width / 2 - S1.Left, L1.Top + L1.Height / 2 - S1.Top
        End If
    End If
End If
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы