AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Scrollbar

Ein Thema von Nils_13 · begonnen am 31. Mai 2008 · letzter Beitrag vom 1. Jun 2008
 
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#1

Scrollbar

  Alt 31. Mai 2008, 12:51
Hi,

eine eigene Komponente, welche eine Listbox darstellt, enthält zwei Variablen: Sichtbar1 und Sichtbar2. Diese beiden Variablen beziehen sich auf die Stringlist Items. Items enthält wie bei einer normalen Listbox die Einträge. Sichtbar1 ist also der oberste zu sehende Eintrag und Sichtbar2 der unterste zu sehende (die beiden Variablen sind sozusagen Indizes zu Items). Ich habe auch eine eigene Scrollbar. Die Scrollbar hat als Max die Anzahl der Einträge der Listbox. Mit MouseMove der Scrollbar möchte ich die Scrollbar zum laufen kriegen. Als relevante Angaben hat man folglich den Y-Wert der Maus in Pixeln (umgerechnet auf die ScrollBar), die Höhe der Scrollbar in Pixeln, den Max-Wert in der Dimension der Einträge -> keine Pixelangabe. Theoretisch könnte man daraus folgendermaßen Sichtbar1 (lokal auch als Pos bekannt) berechnen: (Y/Height)*Max (<- Klammern nur zur Vereinfachung). Nun stellt sich allerdings die Frage, wie man die Position des Reglers der Scrollbar in Pixeln berechnen könnte. Mir ist außerdem noch sehr wichtig, dass die Scrollbar ein normales verhalten zeigt: Je nach Eintragsanzahl soll sie Sprünge machen.
Ich habe mir zwar Mühe gegeben, alles möglichst einfach zu erklären, aber um nochmal sicher zu gehen, dass es jeder verstanden hat, habe ich im Anhang ein Projekt mit dem ihr selbst experimentieren könnt. Falls Missverständnisse vorliegen, sollte dieses auch noch helfen. Die drei Anmerkungen in den ersten Zeilen der code.pas (frmMain) sind sehr hilfreich. Viele Units werden nur derzeit benötigt und in Zukunft wegfallen, sie sind alle irrelevant für euch (außer euch interessiert das umständliche Laden von PNGs und anderen für euch unwichtigen Mist), daher sind diese Anmerkungen sehr hilfreich. In der MouseOver der SkinTrackBar in uSkinDraw seht ihr meinen Versuch. Er funktioniert allerdings nicht einmal annähernd. (Ich benötige keine Hinweise zum Laden von PNGs, da ich das demnächst endgültig beseitigen werde.)
Angehängte Dateien
Dateityp: zip projekt_334.zip (499,2 KB, 36x aufgerufen)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz