Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi mehrzeilige listbox-einträge (https://www.delphipraxis.net/89945-mehrzeilige-listbox-eintraege.html)

maddins 9. Apr 2007 00:18


mehrzeilige listbox-einträge
 
hi leute,

ich brauch mal wieder hilfe bei einem problem, dessen lösung bestimmt wieder ganz einfach und irgendwo versteckt ist...

und zwar würde ich gern mehrzeilige einträge in einer listbox machen, d.h. mehrere zeilen pro listbox.Item.text(). ich habs schon mit #13#10 (oder wars anders rum? k.a., ging beides nich ;-) )zwischen den texten probiert, aber alles, was er dann anzeigt, sind 2 unausgefüllte kästchen zwischen den 2 text-stückchen. außerdem hab ich noch mit listbox.itemheight rumgespielt, was allerdings keine veränderung gebracht hat.

sollte ich dafür überhaupt eine listbox verwenden? oder gibts da andere (vielleicht bessere) wege?
mit den späteren einträgen wollte ich dann auch arbeiten, d.h. durch doppelklicks o.ä. zum beispiel die einträge editieren (über ein formular mit showmodal) oder so.

vielen dank für eure ratschläge.

maddins

MrKnogge 9. Apr 2007 00:36

Re: mehrzeilige listbox-einträge
 
Moin,

ich würde dir da den VirtualStringTree von Mike Lischke empfehlen.

Gruß

Sunlight7 9. Apr 2007 02:36

Re: mehrzeilige listbox-einträge
 
Moin!

Du könntest auch im OwnerDraw selber zeichnen und mit AddObject Infos über die Items speichern.

marabu 9. Apr 2007 07:24

Re: mehrzeilige listbox-einträge
 
Guten Morgen,

hier wurde das Thema auch schon behandelt: Wordrap bei ListBoxen

Frohe Ostern

maddins 9. Apr 2007 17:52

Re: mehrzeilige listbox-einträge
 
danke erstmal.

es ist auf jeden fall schon mal ein schritt in die richtige richutng.

aber ich möchte egtl nicht den text in der listbox beliebig umbrechen, sondern ich möchte 3 zeilen text in einer listbox haben, nehmen wir mal an: dateiname, größe, abmessung einer bilddatei. dabei ist es egal, wenn eine der zeilen länger als die egtle breite der listbox ist. es kommt mir nur auf den umbruch der einzelnen zeilen an.

mit listbox.canvas lässt sich recht gut zeichnen, aber es entsteht ja in diesem fall nicht wirklich eine (listbox-)zeile, die man dann anklicken (markieren) und/oder bearbeiten kann. wenn ich ein neues item erstelle, wird ja die canvas irgendiwe überschrieben.

kann man da nich irgendwas kombienieren??

mfg, maddins

Sunlight7 9. Apr 2007 18:46

Re: mehrzeilige listbox-einträge
 
Liste der Anhänge anzeigen (Anzahl: 1)
Abend!

Du stellst Dir sowas vor?

Ich hab jetzt nur 1 Edit auf den Dateinamen, weil ich keinen Bedarf habe andere Eigenschaften zu editieren, aber es wäre nur eine Spielerei, mehrere Edits zu machen.

Edit: Nanu? Wo ist das Attachment abgeblieben :gruebel:
Nochmal...

SirThornberry 9. Apr 2007 18:57

Re: mehrzeilige listbox-einträge
 
und wie willst du dann sicherstellen das der Nutzer sieht das es sich um einen Eintrag handelt ohne das er erst den Text erfassen muss? Nutzerfreundlich ist es sicher nicht wenn man nicht mehr sieht wo ein Listboxeintrag anfängt und wo er aufhört.

maddins 9. Apr 2007 19:04

Re: mehrzeilige listbox-einträge
 
@ sunlight7

ahja - an genau sowas hab ich gedacht...



@ sir thornberry

also ich find das nich unübersichtlich. is doch ne gute möglichkeit, ne menge informationen gebündelt in einer liste anzuzeigen.

Sunlight7 9. Apr 2007 19:14

Re: mehrzeilige listbox-einträge
 
@SirThornberry: Ich hab das seit vielen Jahren für mich in Betrieb, das war nie für andere Nutzer gedacht...
Aber es würde schlicht genügen, entweder den Hintergrund mit Farbverlauf zu Zeichnen oder einfach einen fetten Strich zwischen den Items zu machen ;)

LAWn-M0W3R 9. Apr 2007 22:18

Re: mehrzeilige listbox-einträge
 
Hier noch eine Möglichkeit:

Du willst einfach nur mehrere Zeilen? Dann unterteile den jeweiligen String doch einfach in eine Art stringlist.
Also, wenn du da so ein neues item.Caption oder so einfügst, dann sagst du ihm einfach:
Delphi-Quellcode:
Caption := 'string1' + chr($0D) {Zeichen für Zeilenumbruch} + 'string2' + chr($0D) + 'string3';
Das sieht dann so aus:
Zitat:

string1
string2
string3
...und was die Benutzerfreundlichkeit angeht, so mach es wie Sunlight7 und bau nen Farbverlauf in die Paint-Prozedur!
Hoffe geholfen zu haben!
Schönen Abend noch und Grüße vom Max


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:22 Uhr.
Seite 1 von 3  1 23      

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