![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]()
Здравствуйте.
вот код: Код:
Не знаю, как словами это описывать. Всё должно быть понятно из видео. Как это исправить? |
![]() |
![]() |
![]() |
#2 |
фрилансер, препод.
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,040
|
![]()
BLACK_RAIN,
словами так: знаем размеры фрейма (окошко просмотра) знаем размеры всего объекта (по нему ползает фрейм) (описание для одной координаты. По второй - всё так же) если длина объекта вся влазит во фрейм, полоску скрываем если не влазит, то: узнаём длину скрытой части - её и будем скроллить (0% - объект с фреймом совмещены координатой 0, а 100% - совмещены максимальной координатой) минимум и максимум скролбара удобно делать всегда 0 и 100 (эквивалент процентов прокрутки). Разве что разрешение экрана настолько дико большое, что эта дискретность не устраивает, тогда вариант 0...1000 и так далее |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]() |
![]() |
![]() |
![]() |
#4 |
фрилансер, препод.
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,040
|
![]()
BLACK_RAIN, нарисуй на бумаге - поймёшь
![]() или даже вырежь из бумаги эти окошки и подвигай друг над другом, если представить мысленно сложно. Скроллится именно скрытая часть объекта. Если скрытой части нет - скроллить ничего не требуется |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]()
если какая-то панелька не желает "целиком влезать на форму" я обычно пользую Scrollbox.
ScrollBar заменить TScrollbox (у него уже есть ScrollBar) рабочую панель поместить на на этот ScrollBox размеры рабочей панели задать необходимо(не больше) и достаточно(но и не меньше) для отображения всех имеющихся на ДАННЫЙ момент ее компонентов. 1. меняем размеры окна(Resize) --> подстраиваем размеры Scrollbox 2. меняем заполнения рабочей панели -->подстраиваем ее размеры. а ScrollBox в обоих случаях настраиваем СВОИ scrollbar's как ему нужно.
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]() Цитата:
Несколько лет назад я писал скроллбар на WinAPI и никаких особых проблем не возникло. Всё крутилось и отображалось нормально. Ничего на бумаге не рисовал. |
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]()
Работает.
Но прокрутка не обновляется, пока не отпустишь скроллбар. Это плохо. Последний раз редактировалось BLACK_RAIN; 24.09.2020 в 11:48. |
![]() |
![]() |
![]() |
#8 |
фрилансер, препод.
Участник клуба
Регистрация: 11.10.2019
Сообщений: 1,040
|
![]()
перемещением ползунка в этом случае всё равно не поможешь. Если количество строк не поддерживается скроллбаром, то индекс верхней отображаемой строки нужно будет контролировать "вручную" и синхронизировать с отображением на скроллбаре.
В Qt для этого используется технология модель-представление, можно идею оттуда содрать |
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
![]() Цитата:
И прокручиваемый диапазон там огромный. Последний раз редактировалось BLACK_RAIN; 24.09.2020 в 11:55. |
|
![]() |
![]() |
![]() |
#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 |