Resize элемента

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Prickly
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 82
Зарегистрирован: 07.10.2004 (Чт) 18:44
Откуда: From Russia

Resize элемента

Сообщение Prickly » 12.06.2005 (Вс) 0:12

Hello всем!

У меня на форме, есть Frame. Не подскажите люди добрые как можно изменять размер frame'a с помощью мыши? Как нарисовать линию положения грани frame'a при resize (Смотреть рисунок в прикрепленном файле)?
Вложения
Untitled.zip
(17.68 Кб) Скачиваний: 20
Не было бы Гейтса, не было бы нас!

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 12.06.2005 (Вс) 15:53

Что-то ничего не понял из рисунка. Где frame?

А вообще, могу предложить использовать события MouseMove соседних элементов управления (самого Frame и его соседей). Если мышь находится вблизи грани (dltX и dltY меньше некоторого числа и идут на уменьшение), предпринять некие действия.

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 12.06.2005 (Вс) 16:06

Я бы сделал что то вро де этого
надеюсь рамку граней сам нарисуешь

Prickly
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 82
Зарегистрирован: 07.10.2004 (Чт) 18:44
Откуда: From Russia

Сообщение Prickly » 12.06.2005 (Вс) 21:01

Огромное спасибо. Дальше надеюсь сам разберусь.
Не было бы Гейтса, не было бы нас!

Александр80
Bonachón
Bonachón
 
Сообщения: 659
Зарегистрирован: 20.03.2004 (Сб) 23:50
Откуда: г.Москва

Сообщение Александр80 » 16.06.2005 (Чт) 23:40

Prickly такое чувство, что вам нужен сплитер ? :roll:

Была тема, ищи если нужен сплитер... :lol:
Или переходи на NET, там он есть на панели инструментов... :wink:


1. помещаем на форму, ну скажем, TextBox (имя = Text1), ListBox (имя = List1) и Image (имя = imgSplit)
2. в коде формы пишем следующее:

Код: Выделить всё
Option Explicit

Private splitX As Single
Private OldX As Single

Private Sub Form_Load()
  splitX = Me.ScaleWidth \ 4
End Sub

Private Sub Form_Resize()
  imgSplit.Move splitX, 0, 60, Me.ScaleHeight
  Text1.Move splitX + 60, 0, Me.ScaleWidth - splitX - 60, Me.ScaleHeight
  List1.Move 0, 0, splitX, Me.ScaleHeight
End Sub

Private Sub imgSplit_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  OldX = X
End Sub

Private Sub imgSplit_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  If Button = vbLeftButton Then
    splitX = splitX + (X - OldX)
    If splitX < Me.ScaleWidth \ 4 Then splitX = Me.ScaleWidth \ 4
    If splitX > Me.ScaleWidth \ 2 Then splitX = Me.ScaleWidth \ 2
    Form_Resize
  End If
End Sub



Ивот ссылка на исходник, посмотри может поможет...http://bbs.vbstreets.ru/download.php?id=997


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

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

Сейчас этот форум просматривают: Google-бот и гости: 197

    TopList