Полосы прокрутки на форме

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Полосы прокрутки на форме

Сообщение Алексей К. » 12.05.2004 (Ср) 9:51

На форме нужно разметить несколько массивов элементов управления (массив из 512 элементов). На форме все не умещаются. Можно ли сделать форму с прокруткой (вертикальная полоса) и тем самым получить возможность увеличения размера формы больше чем размер экрана (по вертикали) и соответственно разместить все элементы управления. Помогите пожалуйста.

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

Сообщение RayShade » 12.05.2004 (Ср) 10:00

Хм. А что за элементы-то? Не проще ли использовать ListView?

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 12.05.2004 (Ср) 10:32

Одна строка элементов управления состоит:
Label Textbox TextBox frame(optionbuton option buton)
И таких строк еще надо разместить полно

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

Сообщение RayShade » 12.05.2004 (Ср) 10:44

Тогда делем так:



1. Позиционируем контролы на форме, представляя себе, что форма это как бы окно просмотра слайдов, а вирутальная форма, на которй рисуются контролы - это пленка. То есть даже если наша форма 100 на 100, смело позиционируем контролы с помощью их пропертей left и top хоть на 1000 пиксель.



2. Вешаем на форму скроллбар. Его проперть Mах ставим в значение, равное высоте нашей виртуальной формы.



3. Пишем обработчик события Change нашего скрола и в нем изменяем значения Top пропертей всех контролов на величину, равную величине сдвига скролла.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 12.05.2004 (Ср) 10:54

Хм. Для обеспечения гладкости прокрутки на моей бывшей работе народ клал все компоненты на пикчур, который получался просто устрашающей высоты. А уже он скроллился вверх-вниз.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 12.05.2004 (Ср) 10:59

Понятно. А как мне их столько изначально создать? ведь простым рисованием в дизайнере экрана не хватит. Может как-то программно создать. Как например программно создать массив элементов управления Textbox1(512).А потом в цикле я уже его обработаю. Если можно приведите пример кода.

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

Сообщение RayShade » 12.05.2004 (Ср) 11:18

Для создания массивов ипользуется оператор Load. Для этого в дизайнере создаешь сперва массив контролов а после уже его из кода Load ом размножаешь.[/code]

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 12.05.2004 (Ср) 11:51

PictureBox конечно хорош, но ресурсов много кушает.
На форму ложишь один Frame (внешний), внутри него размещаешь еще один Frame (внутренний) и VScroll. Внутренний Frame задаешь нужной высоты, а VScroll.Max = высота внутреннего Frame - высота внешнего Frame - еще немного (отступы сверху и снизу, некрасиво, когда контролы будут "обрезаться" заподлицо).
При скроллинге смещаешь внутренний Frame. Получается гладко и изящно.

З.Ы. Разумеется у обоих фреймов BorderStyle=0.
Lasciate ogni speranza, voi ch'entrate.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 12.05.2004 (Ср) 11:53

Всем огромное спасибо за ответы и оперативность. Очень живой форум оказался. :D

kazah_
Обычный пользователь
Обычный пользователь
 
Сообщения: 99
Зарегистрирован: 13.01.2003 (Пн) 18:37
Откуда: Russia

ХРЕНЬ КАКАЯ-ТО

Сообщение kazah_ » 13.05.2004 (Чт) 12:40

Ну и бред ....
Mr DEN - THE WAY YOU KNOW / Мр. ДЕН - Ваш Путь к Познанию!


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

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

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

    TopList