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

0

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

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

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

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

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

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

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

  • Как определить thumb step value?
  • Как определить content step value?
Теги:
user-interface
scrollbar

1 ответ

0

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

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

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

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

  • 0
    Скажем, как изображение, как получить эти значения? Какова будет формула?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню