Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Listbox, bei Überschrift-klick kommt ausführlicher Bericht (https://www.delphipraxis.net/145154-listbox-bei-ueberschrift-klick-kommt-ausfuehrlicher-bericht.html)

kingsusu 24. Dez 2009 23:10


Listbox, bei Überschrift-klick kommt ausführlicher Bericht
 
Guten Abend Leute,

zur späten Stunde habe ich noch eine Frage.

Ich habe eine Listbox wie hier: http://www.youtube.com/watch?v=K1hEugkOrxc

Der einzige unterschied ist, dass ich noch ein weiteres EDIT-FELD habe, wo ich eine ausführliche Beschreibung einer Sache schreibe.

Ich will, dass es in der Listbox nur die "Überschrift" die ich in Edit1 eingebe sichtbar ist, aber wenn ich es anwähle will ich,dass ich die genaue Beschreibung sehe.

Wie kann ich das machen?

lg

Kingsusu

Edit:

Crosslink: http://www.delphi-forum.de/viewtopic...=589327#589327

Luckie 24. Dez 2009 23:20

Re: Listbox, bei Überschrift-klick kommt ausführlicher Beric
 
Guck dir mal die Methode von Items Delphi-Referenz durchsuchenAddObject an.

Matze 24. Dez 2009 23:21

Re: Listbox, bei Überschrift-klick kommt ausführlicher Beric
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Kingsusu,

Soll sich der Text des Eintrags ändern, wenn du ihn anklickst? Habe ich das richtig verstanden?
Für dein Vorhaben würde ich eher zu einem TreeView tendieren. Das ist das, was der Windows-Explorer nutzt, um die Verzeichnisse anzuzeigen.
Da kannst du die Überschriften darstellen und wenn man auf das zugehörige Plus-Zeichen klickt, klappt der Beschreibungstext auf.

Edit: Bild angehängt.

kingsusu 24. Dez 2009 23:25

Re: Listbox, bei Überschrift-klick kommt ausführlicher Beric
 
Zitat:

Zitat von Matze
Hallo Kingsusu,

Soll sich der Text des Eintrags ändern, wenn du ihn anklickst? Habe ich das richtig verstanden?
Für dein Vorhaben würde ich eher zu einem TreeView tendieren. Das ist das, was der Windows-Explorer nutzt, um die Verzeichnisse anzuzeigen.
Da kannst du die Überschriften darstellen und wenn man auf das zugehörige Plus-Zeichen klickt, klappt der Beschreibungstext auf.

Edit: Bild angehängt.

Diese Methode gefällt mir!

Mein Ziel ist es, dass ich einen Terminkalender mache.
Ich habe Listbox mit einer "Überschrift" , wenn man diese anklickt sieht man die genaue Beschreibung des Termins und die ausgewählte Zeit.

Und wenn diese ausgewählte Zeit eintrifft, dann kommt ein lauter Alarm! :)


Ist es mit deiner Methode einfach? (Bin neu hier :-) ) Oder gibts da was leichteres?

lg

Blackheart 25. Dez 2009 09:11

Re: Listbox, bei Überschrift-klick kommt ausführlicher Beric
 
Wie schon in einem anderen Post erwähnt gib bitte den Crosspost mit an.

Matze 25. Dez 2009 09:53

Re: Listbox, bei Überschrift-klick kommt ausführlicher Beric
 
Am Besten erstellst du erst Crossposts, wenn in einem Thema nach 12 Stunden noch keine Antwort da ist. Da vergeht mir komplett die Lust zu helfen, daher halte ich mich nun auch sehr kurz. :?

Delphi-Quellcode:
// Hinzufügen von Terminen
procedure AddEvent(EventName: string; EventDescription: string; TView: TTreeView);
var
  TreeNode: TTreeNode;
begin
  TreeNode := TView.Items.AddFirst(nil, EventName);
  TView.Items.AddChild(TreeNode, EventDescription);

  // oder als (etwas unübersichtlicher) 1-Zeiler:
  // TView.Items.AddChild(TView.Items.AddFirst(nil, EventName), EventDescription);
end;

// Möglicher Aufruf
procedure TForm1.Button1Click(Sender: TObject);
begin
  AddEvent('Termin 1', 'Kaktus gießen, bevor er vertrocknet *g*', TreeView1);
end;
Es wäre dann sinnvoll, im DF Bescheid zu geben, dass das Problem geklärt ist. Sonst rackern sich dort auch welche ab und tippseln Code, obwohl alles bereits geklärt ist.
Tutorials zum TTreeView gibt's übrigens viele. Da erfährst du dann auch, wie du Items löschen kannst o.ä.

kingsusu 25. Dez 2009 10:26

Re: Listbox, bei Überschrift-klick kommt ausführlicher Beric
 
Oh sorry, wieder vergessen mit dem Crosslink :wall: - bins noch nicht gewöhnt.

Aber danke für die Antworten.

Wäre es also auch möglich das hier zu machen?
Delphi-Quellcode:
// Möglicher Aufruf
procedure TForm1.Button1Click(Sender: TObject);
begin
  AddEvent(edit1.text, edit2.text, TreeView1);
end;
Und mein Edit1 ist die Überschrift und Edit2 die Beschreibung.

Matze 25. Dez 2009 10:27

Re: Listbox, bei Überschrift-klick kommt ausführlicher Beric
 
Natürlich.

Und lass die Crossposts am Besten komplett sein. Mit oder ohne Link, ich persönlich schreibe in diesen Themen aus Prinzip schon selten.

kingsusu 25. Dez 2009 12:08

Re: Listbox, bei Überschrift-klick kommt ausführlicher Beric
 
Kann ich dann auch eine Zeit und ein Datum einbinden?

Die Zeit erstelle ich mit einem Timerpicker und das Datum mit einem Datepicker.

kingsusu 25. Dez 2009 23:00

Re: Listbox, bei Überschrift-klick kommt ausführlicher Beric
 
Liste der Anhänge anzeigen (Anzahl: 1)
So ich benutze nun den Treeview. - hier ein Dankeschön an Matze.

Und eine IniDatei.

Hier der Code



Delphi-Quellcode:

procedure AddEvent(EventName: string; EventDescription: string; TView: TTreeView);
var
  TreeNode: TTreeNode;
begin
  TreeNode := TView.Items.AddFirst(nil, EventName);
  TView.Items.AddChild(TreeNode, EventDescription);

end;

Und für das lesen habe ich

Delphi-Quellcode:

procedure TFRemember.Button2Click(Sender: TObject);

var filename, beschreibung:string;
begin

filename := Extractfilepath (application.ExeName) + 'test.ini';
if fileexists(filename) then

AddEvent(readfromini (filename, 'Myvars', 'Überschrift'), readfromini (filename, 'Myvars', 'Beschreibung'),TreeView1);
Beschreibung := readfromini(filename, 'Myvars', 'Beschreibung') + ' (' + readfromini(filename, 'Myvars', 'Zeit') + ')';
end;
klappt alles super, bis auf die zeit, die ich nicht lesen kann. Diese Zeit kann ich aber in einer Listbox anzeigen lassen mit diesem Code.

Zur Veranschaulichung habe ich ein Bild hochgeladen, dieses ist aber ein bisschen unübersichtlich, da ich noch mitten drin bin. Das Blaue symbolisiert das was in der Treebox erscheinen muss.

Das rote das was in dem Listview erscheint


Das ist der Code, der für die Zeit zuständig ist.


Delphi-Quellcode:

   listbox1.items[listbox1.ItemIndex]:=readfromini (filename, 'Myvars', 'Zeit');

Und jetzt zu meiner Frage: Wieso sehe ich dir Zeit beim Treeview nicht?


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 Uhr.
Seite 1 von 2  1 2      

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