Как определить значение шага содержания scrollarea

Я делаю свой собственный интерфейс с нуля, используя OpenGL, поэтому я спрашиваю об этом, и, пожалуйста, не расстраивайтесь, так как это всего лишь хобби-проект.

В настоящее время я застрял в реализации, как эта полоса прокрутки действительно работа. В моей текущей реализации content свитки на неверное значение шага так же хорошо как thumbТо есть я установил значение вручную, как шаг в 1 пиксель для каждого из них.

Структура моей реализации полосы прокрутки описана следующим образом:

  • Я рисую полосы прокрутки, то есть основной прямоугольник, где находится кнопка 3.
  • Эти 3 кнопки, thumb, buttonBack а также buttonNext,
  • Все они выполняют основную логику полос прокрутки, т.е. когда я нажимаю на каждую из них, они переехал. Но вся часть (полоса прокрутки) не знает, как прокручивать contents
  • Так что я сделал: я делаю другой объект, и я называю его scrollarea
  • Он имеет две полосы прокрутки, вертикальную и горизонтальную полосы прокрутки.
  • Я сделал функцию под названием scrollToX а также scrollToY который
    делает то, что я им назвал.
  • Но значения шагов, которые я им установил,
    ручная настройка.

Я пытаюсь погуглить scrollbar, scrollarea, scrollview или что бы вы ни называли этим прокручиваемым прямоугольником, но все, что я вижу, это реализация, и я не могу найти каких-либо руководств, как создать свой собственный. У меня нет выбора, кроме как посмотреть на их реализацию. Я изо всех сил стараюсь понять, что они сделали, но их реализация того, как вся их структура пользовательского интерфейса сильно отличается от моей, и я не могу найти там ничего полезного.

Поэтому я спрашиваю здесь снова, может ли кто-нибудь объяснить мне хорошо как сделать правильно работающую полосу прокрутки.

Наиболее конкретные вещи, которые меня действительно беспокоят:

  • Как мне определить thumb step value?
  • Как мне определить content step value?

0

Решение

Все это зависит от вашего контента —

  • Это просто изображение? Если это так, вам нужно только изменить смещение в зависимости от размера изображения.

  • Это список значений, как в проводнике Windows? Затем вам нужно сначала создать структуру данных, которая содержит все это и показывает содержимое, которое помещается в окне при прокрутке.

OpenGL не вписывается в это обсуждение.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]