AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Länge einer hor. Scrollbar abhängig von Einträgen
Thema durchsuchen
Ansicht
Themen-Optionen

Länge einer hor. Scrollbar abhängig von Einträgen

Ein Thema von Ramone · begonnen am 26. Mai 2005 · letzter Beitrag vom 27. Mai 2005
Antwort Antwort
Ramone

Registriert seit: 26. Mai 2005
Ort: Bad Kreuznach
7 Beiträge
 
Delphi 7 Enterprise
 
#1

Länge einer hor. Scrollbar abhängig von Einträgen

  Alt 26. Mai 2005, 18:37
Hallo,
ich benutze in meinem Programm eine FileListBox und habe nun eine hor. Scrollbar eingebaut. Man muss jedoch im Delphi-Code die Länge festlegen:
SendMessage(FileListbox1.Handle, LB_SetHorizontalExtent, 1000, Longint(0)); Wie kann ich jetzt die Länge der Scrollbar abhängig von der Datei mit dem längsten Namen machen? Denn es werden ständig neue Dateien mit verschiedenlangen Namen hinzugefügt. Und einfach den Wert 1000 einfügen möchte ich auch nicht, da es nicht gerade schön aussieht.

Gruß
My Goodness My Guinness
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Länge einer hor. Scrollbar abhängig von Einträgen

  Alt 26. Mai 2005, 19:30
du musst alle items durchgehen und den längsten eintrag raussuchen. Dann davon die Länge nehmen. Wenn ein neuer Eintrag hinzu kommt prüfst du ob der neue eintrag länger ist, wenn dies der Fall ist bestimmt dieser neue Eintrag dann die länge ansonten bleibts beim alten
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Ramone

Registriert seit: 26. Mai 2005
Ort: Bad Kreuznach
7 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Länge einer hor. Scrollbar abhängig von Einträgen

  Alt 26. Mai 2005, 19:42
Genauso hab ich es gemacht, nur ist mir später eingefallen, dass man das gebrauchen kann, denn man überprüft ja nur die Anzahl des längsten Strings, sprich die Anzahl der Zeichen. D.h. bei einem String mit der Länge 35 bringt einem die Länge nichts, weil Scrollbar viel zu klein ist.
My Goodness My Guinness
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Länge einer hor. Scrollbar abhängig von Einträgen

  Alt 26. Mai 2005, 19:49
Hallo Ramone,

mit ListBox.Canvas.TextWidth() erhältst du die Länge eines Strings in Pixeln unter Berücksichtigung der verwendeten Schrift. Den Maximalwert kannst du dann weiter verwenden.

Grüße vom marabu
  Mit Zitat antworten Zitat
Ramone

Registriert seit: 26. Mai 2005
Ort: Bad Kreuznach
7 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Länge einer hor. Scrollbar abhängig von Einträgen

  Alt 26. Mai 2005, 19:56
Vielen Danke auch!
My Goodness My Guinness
  Mit Zitat antworten Zitat
Ramone

Registriert seit: 26. Mai 2005
Ort: Bad Kreuznach
7 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Länge einer hor. Scrollbar abhängig von Einträgen

  Alt 27. Mai 2005, 13:32
Hallo nochmal,
ich habs jetzt so versucht:
Delphi-Quellcode:
l := FileListBox1.Canvas.TextWidth(IntToStr(x)); // x ist die Länge des längsten Strings in der ListBox.
ShowMessage(IntToStr(l)); // Nur zum Testen der Ausgabe
{bei der Stringlänge 48 kriegt "l" den Wert 12!?!?}
SendMessage(FileListbox1.Handle, LB_SetHorizontalExtent, l, Longint(0)); // Scrollbalken in Listbox
Auf jeden Fall funktioniert das nicht, da der Wer "12" natürlich viel zu klein ist. Hat jemand noch eine Idee?

Gruß
My Goodness My Guinness
  Mit Zitat antworten Zitat
Ramone

Registriert seit: 26. Mai 2005
Ort: Bad Kreuznach
7 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Länge einer hor. Scrollbar abhängig von Einträgen

  Alt 27. Mai 2005, 13:34
Sorry, für den Beitrag, aber mir ist gerade aufgefallen, das in x der Text des längsten Strings stehen muss, nicht die Länge. Ich denke, das war das Problem.
My Goodness My Guinness
  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 21:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz