Как на форме можно зделать VScrollBar?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Как на форме можно зделать VScrollBar?

Сообщение Max! » 05.04.2003 (Сб) 18:49

Например на форуме справа есть скрол и если хочешь просматреть темы которые находятся ниже ты скролиш вниз , а когда вверх скролиш вверх , вот и я хочу примерно сделать в своей проге! Помогите!!! Pleas!
Max!

moderator
Модератор
Модератор
 
Сообщения: 1896
Зарегистрирован: 10.12.2001 (Пн) 18:11
Откуда: Украина, Харьков

Сообщение moderator » 05.04.2003 (Сб) 21:50

Поточнее вопрос можно?
Модератор
http://www.vbstreets.ru / moderator@vbstreets.ru

... Почетные награды: [*], [+], [!]. Все еще впереди...

Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Сообщение Max! » 05.04.2003 (Сб) 22:30

Ну дапустим на форме я разместил кнопки и другие формы упровления
уменьшил форму до нужных размеров , естественно что не все формы упровления вместились , и для этого мне нужно зделать скрол что бы прокрутить вниз или вверх что бы увидеть невместившиеся формы упровления! Тьфу! Ну типерь понятние? :shock:
Max!

mad_Max
Бывалый
Бывалый
 
Сообщения: 203
Зарегистрирован: 15.09.2002 (Вс) 21:17
Откуда: Russia, Cherepovets

Сообщение mad_Max » 05.04.2003 (Сб) 23:22

запихай все контролы в какой-нибудь контрол-контейнер (PictureBox, Frame) и сделай его такого размера, чтобы их всех было видно в нем. Потом уменьши форму до нужных размеров, вставь VScrollBar и сделай так, чтобы при скроллинге перемещался контейнер - он потянет за собой все содержащиеся в нем элементы, например:

Код: Выделить всё
Private Sub Form_Load()
VScroll1.Min = 0
VScroll1.Max = Me.ScaleHeight - Frame1.Height
End Sub
Private Sub VScroll1_Scroll()
Frame1.Move 0, VScroll1.Value
End Sub


здесь VScroll1 - VScrollBar, а Frame1 - контейнер (в данном случае Frame)

Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Сообщение Max! » 05.04.2003 (Сб) 23:42

Огромное тебе спасибо за помощь, С благодарностью , MAX! :lol: :wink: :roll:
Max!

Max!
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 502
Зарегистрирован: 03.04.2003 (Чт) 22:08
Откуда: Литва

Сообщение Max! » 06.04.2003 (Вс) 11:30

У меня возникла еще одна проблема , как ты говорил mad_Max я разместил на форму Frame1 и засунул туда все формы упровления ,
затем я уменьшил форму до нужных размеров разместил скрол ,
в форму вписал такои код:

Private Sub Form_Load()
VScroll1.Min = 0
VScroll1.Max = Me.ScaleHeight - Frame1.Height

А в скрол:

Private Sub VScroll1_Scroll()
Frame1.Move 0, VScroll1.Value

Откомпелировал прогу нажал на скрол что бы он прокрутил и вот бац
он половина форм упровления вообще убрал вверх и их некак не видно если даже обратно прокрутить скрол , а другую часть форм упровления оставил кусками от первои части и их не прокручивает!
Вчем проблема помогите?!
Max!

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 07.04.2003 (Пн) 10:06

Ну и правильно ;) Потому что если разобраться в коде, то именно это он и сделает ;)



Я ж писал уже, как это надо организовывать :)

Не надо никаких доп. контейнеров. Просто при проектировани создаем форму, например высотой в 50000 твипов. На ней все размещаем.

Потом сжимаем форму в дизайнере до нужного нам размера.

И в обработке скролинга пишем



for each ctl in form.controls

ctl.top = ctl.top + vscroll.value * (50000 / form.scaleheight ) ' задаем отношение изначальнойго "холста" и того, что мы сейчас фактически видим.

next ctl



и все.


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

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

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

    TopList