Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - ListBox Items mit gleichem Abstand einrücken?
HiteHower - Fr 08.07.05 09:06
Titel: ListBox Items mit gleichem Abstand einrücken?
Ich habe ne Listbox wo ich Anrede, Name und Nummer eingeben kann in Edits und dann in ne Listbox einfüge! Mit Anrede und Name nebeneinander geht das, dass bleibt ja gleich aber der Name ist immer unterschiedlich lang dadurch verschiebt sich die Nummer dann immer weiter nach rechts oder links als die die drüber steht! Wie bekomme ich das ordentlich eingerückt? :?:
Mfg HiteHower
Moderiert von
Gausi: Topic aus Dateizugriff verschoben am Fr 08.07.2005 um 09:52
ManuelGS - Fr 08.07.05 11:47
Hi!
Deine Frage ist etwas seltsam.
Wenn ich dich richtig verstanden habe, dann hast du nur das Problem, dass die einzelnen Zeichen unterschiedlich groß sind. Da gibt es eine einfache Abhilfe: Nimm eine Schriftart, bei der alle Zeichen gleichgroß sind, z.B. Courier New.
Mit dem Einrücken würde ich mir nicht allzuviel Streß machen - einfach Leerzeichen benutzen.
Gruß, Manuel
HiteHower - Fr 08.07.05 11:52
Ja na klar! Das habe ich ja und bei VB kann mann das ja machen ganz einfach sogar aber bei Delphi!?
zB:
Herr____Bla____03857777
Frau____haollo____478797
und ich wollte es so machen das dass so aussieht
Herr____Bla_______03857777
Frau____haollo____478797
(unterstriche wären leerzeichen)
jetzt sind die abstände zwischen nummer und name ja unterschiedlich, vorne die anrede bleibt ja gleich!
Kannst Du mir da helfen?
Lannes - Fr 08.07.05 12:09
Hallo,
nimm doch ein StringGrid oder eine ListView dafür, dann kannst Du die Werte sauber in Spalten anzeigen.
HiteHower - Fr 08.07.05 12:15
Hast Du vielleicht mal nen kleines Beispiel für mich?
Ich mache Delphi erst seit 3 Tagen aufgrund meines Schulpraktikas und hier hat keiner Zeit um mir vielleicht mal was zu zeigen! Bisher alles selbst rausgefunden aber die Listview ist dann doch sehr komplex oder nicht!?
Lannes - Fr 08.07.05 15:06
Hallo,
die Daten einer ListView sind in der folgenden Form angeordnet/zugeordnet:
Quelltext
1: 2: 3: 4:
| ___________| Spalte 1 | Spalte 2 | Spalte 3 | Items[0] > | Caption | SubItems[0] | SubItems[1] | Items[1] > | Caption | SubItems[0] | SubItems[1] | Items[2] > | Caption | SubItems[0] | SubItems[1] | |
Die Spalten legst du im Objektinspektor bei der Eigenschaft Columns an.
Dann noch folgende Einstellungen vornehmen:
•ShowColumnHeaders auf True,
•ViewStyle auf vsReport,
•HideSelection auf False,
•RowSelect auf True.
Hier ein einfaches Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls;
type TForm1 = class(TForm) ListView1: TListView; EditAnrede: TEdit; EditName: TEdit; EditNummer: TEdit; btnNeu: TButton; btnBearbeiten: TButton; btnEintragen: TButton; btnDel: TButton; procedure btnNeuClick(Sender: TObject); procedure btnEintragenClick(Sender: TObject); procedure btnBearbeitenClick(Sender: TObject); procedure btnDelClick(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.DFM} procedure TForm1.btnNeuClick(Sender: TObject); var aItem : TListItem; begin aItem := ListView1.Items.Add; aItem.Caption := 'neu'; aItem.SubItems.Add(''); aItem.SubItems.Add('');end; procedure TForm1.btnEintragenClick(Sender: TObject); var aItem : TListItem; begin if ListView1.Selected <> nil then begin aItem := ListView1.Selected; aItem.Caption := EditAnrede.Text; aItem.SubItems[0] := EditName.Text; aItem.SubItems[1] := EditNummer.Text; end; end; procedure TForm1.btnBearbeitenClick(Sender: TObject); var aItem : TListItem; begin if ListView1.Selected <> nil then begin aItem := ListView1.Selected; EditAnrede.Text := aItem.Caption; EditName.Text := aItem.SubItems[0]; EditNummer.Text := aItem.SubItems[1]; end; end; procedure TForm1.btnDelClick(Sender: TObject); begin if ListView1.Selected <> nil then ListView1.Items.Delete(ListView1.Selected.Index); end;
end. |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!