AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Listbox selber horizontal scrollen
Thema durchsuchen
Ansicht
Themen-Optionen

Listbox selber horizontal scrollen

Ein Thema von Mattze · begonnen am 13. Aug 2014 · letzter Beitrag vom 17. Aug 2014
Antwort Antwort
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#1

AW: Listbox selber horizontal scrollen

  Alt 15. Aug 2014, 15:05
Das vertikale Scrolling ist relativ einfach, weil es da nur um volle Zeilen geht und man von vornherein weiß, wo man ist. Aber eben horizontal...
Das kommt auf den verwendeten Font an. Ich würde den Text auf eine beliebige canvas ausgeben und dann den Ausschnitt der für die Anzeige benötigt wird herauskopieren.
(ich muß zugeben ich hab es nicht so mit Graphik aufm Rechner)

Wenn ich dich richtig verstanden habe willst Du ja nicht um jeweils eine Postion/Buchstaben verschieben?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#2

AW: Listbox selber horizontal scrollen

  Alt 15. Aug 2014, 17:41
Hallo,

richtig. Ich will das nicht um nur einen Buchstaben verschieben, sondern, wie die Listbox es macht, um tmAveCharWidth (aus TTextMetrics), wie es die Listbox ja auch macht.
Aber selbst, wenn es um einen Buchstaben ginge, wäre das schon ein Problem, da es ja nicht nur eine Zeile ist.

Das mit der Ausgabe zuerst auf einen Canvas, wäre eine Idee. Allerdings vermute ich, dass dann das Prinzip ListBox (items usw.) konterkariert werden würde. Und, ob das schnell genug ist...
(Mit Doubelbuffered:=true hat man ja eigentlich schon sowas. Aber, ob man an diesen versteckten Canvas rankommt und wie???)

Gruß
Mattze
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
446 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Listbox selber horizontal scrollen

  Alt 17. Aug 2014, 11:32
Sag mal, auf Basis welcher Komponente willst Du das umsetzten?
Whookie

Software isn't released ... it is allowed to escape!
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#4

AW: Listbox selber horizontal scrollen

  Alt 17. Aug 2014, 13:25
Hallo Whookie,

rate mal. (In welchem Bereich bin ich hier?)

Auf Basis GAR KEINER Komponente.
Noch mal:
Ich will eine Listbox (oder ähnliches, entweder Delphi oder Windows) vollständig selber per API
horizontal scrollen.

Ich betone HORIZONTAL. Vertikal ist nicht sooo schwierig, weil es da meistens um definierte Sachen geht!
Beim Text horizontal ist das aber nicht so einfach, weil man in der Regel nicht weiß, wie viel man gerade anzeigt, sprich: bei welchem Buchstaben des Textes die Anzeige aufhört.
Wenn man dann noch den Hintergrund verschieden färbt (abhängig davon, was im Text steht, ob es eine gerade oder ungerade Zeile ist, oder ähnliches), wird es ziemlich eklig, dass fehlende Rechteck ordentlich zu bauen und einzufügen.
(Nebenbei: Wenn man das mit der Färbung usw. übertreibt, wird das automatische horizontale Scrolling auch sehr langsam und ruckartig - und auch nicht mehr sauber!)

Gruß
Mattze
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
446 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Listbox selber horizontal scrollen

  Alt 17. Aug 2014, 13:58
Das mit der Ausgabe zuerst auf einen Canvas, wäre eine Idee. Allerdings vermute ich, dass dann das Prinzip ListBox (items usw.) konterkariert werden würde. Und, ob das schnell genug ist...
(Mit Doubelbuffered:=true hat man ja eigentlich schon sowas. Aber, ob man an diesen versteckten Canvas rankommt und wie???)
Naja, desswegen ... Da du ja einen Canvas verwenden willst .. und dann auch noch an einen versteckten war ich etwas verwirrt...

Also, wenn ich dich richtig verstehe möchtest du eine ListBox-Komponente machen ohne irgendeine Delphi-Unit zu verwenden?
Whookie

Software isn't released ... it is allowed to escape!
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:36 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