|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
24.09.2020, 09:23 | #1 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
как правильно подобрать размер scrollbar'а?
Здравствуйте.
вот код: Код:
Не знаю, как словами это описывать. Всё должно быть понятно из видео. Как это исправить? |
24.09.2020, 10:46 | #2 |
фрилансер
Форумчанин
Регистрация: 11.10.2019
Сообщений: 960
|
BLACK_RAIN,
словами так: знаем размеры фрейма (окошко просмотра) знаем размеры всего объекта (по нему ползает фрейм) (описание для одной координаты. По второй - всё так же) если длина объекта вся влазит во фрейм, полоску скрываем если не влазит, то: узнаём длину скрытой части - её и будем скроллить (0% - объект с фреймом совмещены координатой 0, а 100% - совмещены максимальной координатой) минимум и максимум скролбара удобно делать всегда 0 и 100 (эквивалент процентов прокрутки). Разве что разрешение экрана настолько дико большое, что эта дискретность не устраивает, тогда вариант 0...1000 и так далее |
24.09.2020, 10:56 | #3 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
|
24.09.2020, 11:00 | #4 |
фрилансер
Форумчанин
Регистрация: 11.10.2019
Сообщений: 960
|
BLACK_RAIN, нарисуй на бумаге - поймёшь
или даже вырежь из бумаги эти окошки и подвигай друг над другом, если представить мысленно сложно. Скроллится именно скрытая часть объекта. Если скрытой части нет - скроллить ничего не требуется |
24.09.2020, 11:15 | #5 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
если какая-то панелька не желает "целиком влезать на форму" я обычно пользую Scrollbox.
ScrollBar заменить TScrollbox (у него уже есть ScrollBar) рабочую панель поместить на на этот ScrollBox размеры рабочей панели задать необходимо(не больше) и достаточно(но и не меньше) для отображения всех имеющихся на ДАННЫЙ момент ее компонентов. 1. меняем размеры окна(Resize) --> подстраиваем размеры Scrollbox 2. меняем заполнения рабочей панели -->подстраиваем ее размеры. а ScrollBox в обоих случаях настраиваем СВОИ scrollbar's как ему нужно.
программа — запись алгоритма на языке понятном транслятору
|
24.09.2020, 11:22 | #6 | |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Цитата:
Несколько лет назад я писал скроллбар на WinAPI и никаких особых проблем не возникло. Всё крутилось и отображалось нормально. Ничего на бумаге не рисовал. |
|
24.09.2020, 11:35 | #7 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Работает.
Но прокрутка не обновляется, пока не отпустишь скроллбар. Это плохо. Последний раз редактировалось BLACK_RAIN; 24.09.2020 в 11:48. |
24.09.2020, 11:46 | #8 |
фрилансер
Форумчанин
Регистрация: 11.10.2019
Сообщений: 960
|
перемещением ползунка в этом случае всё равно не поможешь. Если количество строк не поддерживается скроллбаром, то индекс верхней отображаемой строки нужно будет контролировать "вручную" и синхронизировать с отображением на скроллбаре.
В Qt для этого используется технология модель-представление, можно идею оттуда содрать |
24.09.2020, 11:53 | #9 | |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Цитата:
И прокручиваемый диапазон там огромный. Последний раз редактировалось BLACK_RAIN; 24.09.2020 в 11:55. |
|
25.09.2020, 11:44 | #10 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Переписал программу на WinAPI
Код:
А в TScrollBar что надо сделать, чтобы заработало? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не знаю как правильно сделать задания. Питон | Kirkkki | Помощь студентам | 1 | 17.09.2020 01:13 |
Как это делать? | АндрейН | C# (си шарп) | 1 | 14.09.2020 18:36 |
Как правильно подобрать жесткий диск? | Shved77 | Компьютерное железо | 23 | 24.02.2010 14:33 |
Как изменить размер выделеного текста в twebbrowser правильно | pervii | Мультимедиа в Delphi | 0 | 08.02.2010 09:09 |
Как правильно задать размер TextBox-a? | Diego__ | Microsoft Office Word | 3 | 02.09.2009 11:27 |