Я создаю свой собственный пользовательский интерфейс с нуля, используя OpenGL, поэтому я прошу об этом и, пожалуйста, не делайте никаких разочарований, поскольку это всего лишь проект для хобби.
В настоящее время я придерживаюсь того, как эти полосы прокрутки действительно работают. В моей текущей реализации content
прокручивается с неправильным значением шага, а также thumb
, то есть я устанавливаю значение вручную, как шаг 1px для каждого из них.
Структура моей реализации полосы прокрутки описывается следующим образом:
thumb
, buttonBack
и buttonNext
.contents
scrollarea
другой объект, и я называю его scrollarea
scrollToX
и scrollToY
которая делает то, что я им назвал. Я пытаюсь использовать Google scrollbar
, scrollarea
, scrollview
или все, что вы вызываете для этой прокручиваемой прямоугольной вещи, но все, что я вижу, - это реализация, и я не могу найти никаких руководств, как создавать свои собственные. У меня нет выбора, кроме как посмотреть на их реализацию. Я стараюсь изо всех сил понять, что они сделали, но их реализация того, как вся их структура пользовательского интерфейса сильно отличается от моей, и я не могу найти там ничего полезного.
Поэтому я снова спрашиваю, может ли кто-нибудь объяснить мне, как правильно создать функциональную полосу прокрутки.
Наиболее конкретные вещи, которые меня действительно волнуют:
thumb step value
?content step value
?Все это зависит от вашего контента -
Это просто образ? Если это так, вам нужно только изменить смещение в зависимости от размера изображения.
Является ли это списком значений, например, в проводнике Windows? Затем вам нужно сначала создать структуру данных, содержащую все ее, и отобразить содержимое, которое вписывается в окно по мере его прокрутки.
OpenGL не вписывается в это обсуждение.