VScrollBar

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

VScrollBar

Сообщение KPEATOP » 12.08.2013 (Пн) 13:28

У меня большой массив DDKID(kol), где kol=300 000
Пытался сделать VScroll2.Max=kol выдает ошибку. Скорее всего VScroll2.Max = integer ? Я правильно понал?

Тогда у меня другой вопрос.
Вообще я пытаюсь внести свой массив DDKID(kol) в MSFlexGrid. Естественно мне не надо видеть сразу 300 000 элементов массива, только часть, например 50. И со скролом их перелистывать. В MSFlexGrid есть автоматический скролл, но MSFlexGrid не вмещает 300 000 элементов, не хватает памяти. Останавливается примерно на 70-80 тыс. Хотел отоброжать по 50 элементов, постоянно загружая их при скролинге VScroll2, но он не подддерживает Max 300 000. Что мне делать, как отображать в MSFlexGrid свой огромный массив. Подскажите, если есть соображения. Может кто уже сталкивался? Заранее сенкс!!! Очень жду ответов.
Вечность пахнет нефтью

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 12.08.2013 (Пн) 13:33

Поставить 32767 и прокручивать на 10 записей вместо 1, наверное.
При необходимости отлавливать клики по кнопкам up/down скроллбара (надеюсь, они отлавливаются?) и тогда скроллить на 1 (не забыв перепозиционировать скроллбар в зависимости от кратности шагу).

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: VScrollBar

Сообщение KPEATOP » 12.08.2013 (Пн) 13:59

В принцепе, это мысль. Я что то даже не подумал скролить по 10 или больше. Я думаю пользователь не будет прокручивать 300 000 элементов (а может и больше будет) пол дня, удерживая кнопку Down или Up. Спасибо за совет!
Если я правильно понял событие VScroll2_Scroll - это когда пользователь жмет кнопки Down или Up у VScroll2, а событие VScroll2_Change - это когда перетаскивает "квадратик" на VScroll2 (как его назвать, забыл) вверх или вниз ? Правильно?
Значит можно при VScroll2_Scroll делать скроллинг по 1, а при VScroll2_Change - скроллинг по 10 ?
Я правильно понял?
Вечность пахнет нефтью

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 12.08.2013 (Пн) 14:05

KPEATOP писал(а):Если я правильно понял событие VScroll2_Scroll - это когда пользователь жмет кнопки Down или Up у VScroll2, а событие VScroll2_Change - это когда перетаскивает "квадратик" на VScroll2 (как его назвать, забыл) вверх или вниз ? Правильно?

99%, что нет, а именно, что одно из них вызывается при всех трёх (кнопки, ползунок, клик по свободному пространству) способоах изменения.
Имена событий я не помню, да и вообще не помню, пользовался ли скроллбаром в VB6.

KPEATOP
Бывалый
Бывалый
 
Сообщения: 291
Зарегистрирован: 02.12.2002 (Пн) 16:33
Откуда: Russia

Re: VScrollBar

Сообщение KPEATOP » 12.08.2013 (Пн) 14:09

У меня VB 5 ) Хорошо, я сам определю какое событие надо использовать, буду пробовать. Спасибо. Может кто-нибудь знает способ загружать часть большого массива в MSFlexGrid с помощью автоматического скролла у MSFlexGrid, чтоб не использовать отдельный VScroll ? Буду очень признателен.
Вечность пахнет нефтью


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

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

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

    TopList