Link in ListBox und TTreeview !
Hi
Mein ListBox und Mein TTreeView sind wie Contents (Inhaltsverzeichnis) Wenn Ich auf einen text in ListBox doppelklicke dann soll die Datei in Webbrowser aufgerufen werden :
Delphi-Quellcode:
Ich möchte aber in ListBox den Link nicht schreiben sondern nur den Titel
procedure TForm1.ListBox1DblClick(Sender: TObject);
var I:Integer; begin i := ListBox1.ItemIndex; Webbrowser1.Navigate(ListBox1.Items.Strings[i]); end; also z.B. google und nicht http ://google.de hat jemand eine Idee? |
Re: Link in ListBox und TTreeview !
Hallo,
Delphi-Quellcode:
so vielleicht?
procedure TForm1.ListBox1DblClick(Sender: TObject);
var I:Integer; begin i := ListBox1.ItemIndex; Webbrowser1.Navigate('HTTP://www.'+ListBox1.Items.Strings[i]); end; |
Re: Link in ListBox und TTreeview !
Wie wärs damit ?
Delphi-Quellcode:
'da war wohl jemand schneller'
i := ListBox1.ItemIndex;
Webbrowser1.Navigate('http://www.'+ListBox1.Items.Strings[i]+'.de'); |
Re: Link in ListBox und TTreeview !
Was machst Du, wenn man auf google.com will?
|
Re: Link in ListBox und TTreeview !
Zitat:
|
Re: Link in ListBox und TTreeview !
Du führst eine Liste (TStrings) mit den vollständigen Adressen der Seiten und befüllst die Listbox nur mit den Namen. Beim Doppelklick nimmst du dann aus der Liste den Eintrag an der Stelle des aktuellen ItemIndex der Listbox.
Mfg |
Re: Link in ListBox und TTreeview !
Oder Du hängst ein Objekt an die Items, in dem weitere Informationen stehen.
|
Re: Link in ListBox und TTreeview !
Zitat:
die beste Lösung. könnt Ihr ein Beispiel schreiben ! Ich verstehe nicht ganze |
Re: Link in ListBox und TTreeview !
Ein gutes TreeView Tutorial findest du hier
|
Re: Link in ListBox und TTreeview !
Ich habe zusätzlich ein ListBox2 auf meine Form aber Invisible und drauf die Link-Liste
hinzugefügt :
Delphi-Quellcode:
Vielleicht das ist was die Leute meinen
procedure TForm1.ListBox1DblClick(Sender: TObject);
var I:Integer; begin i := ListBox1.ItemIndex; Webbrowser1.Navigate(ListBox2.Items.Strings[i]); end; Zitat:
|
Re: Link in ListBox und TTreeview !
Objekt-Beispiel:
Delphi-Quellcode:
... ungetestet.
type
TMyLink = record Name, URL: String; end; PMyLink = ^TMyLink; // ... procedure TForm1.FormCreate(...); var Data: PMyLink; begin New (Data); Data^.Name := 'Google'; Data^.URL := 'www.google.de'; ListBox1.AddItem (Data^.Name, Integer (Data)); New (Data); Data^.Name := 'AOL'; Data^.URL := 'www.aol.de'; ListBox1.AddItem (Data^.Name, Integer (Data)); // ... end; procedure TForm1.FormDestroy(...); var Data: PMyLink; i: Integer; begin for i := ListBox1.Items.Count - 1 downto 0 do begin Data := PMyLink (ListBox1.Items.Objects[i]); Dispose (Data); end; end; procedure TForm1.ListBox1DblClick(Sender: TObject); var i: Integer; Data: PMyLink; begin i := ListBox1.ItemIndex; if (i < 0) then Exit; Data := PMyLink (ListBox1.Items.Objects[i]); Webbrowser1.Navigate('http://' + Data^.URL); end; |
Re: Link in ListBox und TTreeview !
Fehler in 2. Linie
Delphi-Quellcode:
Aber bis jetzt ist dieser Vorschlag diese Lösung :
Data^.URL := 'www.google.de';
ListBox1.AddItem (Data^.Name, Integer (Data)); // incompatible Types : Object and Integer !
Delphi-Quellcode:
Wie kann ich diesen Trik in TTreeview machen ?
procedure TForm1.ListBox1DblClick(Sender: TObject);
var I:Integer; begin i := ListBox1.ItemIndex; Webbrowser1.Navigate(ListBox2.Items.Strings[i]); end; In TTreeview gibt es leider Parent und Child. Wie soll der Code oben sein, wenn ich statt ListBox, einen TTreeview nehme Was mir bei TTreeview gefäht, man kann Icons dazu verwenden http://users.iafrica.com/d/da/dart/D...ics/Levels.gif Oder kann man auch bei ListBox genauso Icons hinzufügen ? |
Re: Link in ListBox und TTreeview !
1.)
Delphi-Quellcode:
2.)
Data^.URL := 'www.google.de';
ListBox1.AddItem (Data^.Name, TObject (Data)); Im Grunde kannst du alles in alles zeichnen, auch Bilder in eine TListBox, wenn du es per "OwnerDraw" machst. Kann aber recht umständlich für einen Anfänger sein. Such mal danach, Google oder so. TListBox Owner Draw. |
Re: Link in ListBox und TTreeview !
Liste der Anhänge anzeigen (Anzahl: 1)
Hier ist ein gutes Beispiel mit Source
aber der Inhalt in ListBox nach Compilieren wird nicht angezeigt, sondern nur die Icons und Bilder-Namen (sehe) Anhang vor und nach Compilieren : http://www.greatis.com/delphicb/tips...ckgraphic.html Woran kan das Liegen !? |
Re: Link in ListBox und TTreeview !
Hat das jetzt noch was mit dem ursprünglichen Thema zu tun? Scheint mir nich so. ;) Mach bitte einen neuen Thread auf. Neue Frage -> Neuer Thread. Auch müßte dir die SuFu und Google zum Thema ListBox, TreeView und OwnerDraw einiges ausspucken.
|
Re: Link in ListBox und TTreeview !
Es funktioniert sehr gut, Danke !
aber es stimmt was nicht mit Ondestroy :
Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender: TObject);
var //Data: PMyLink; // !!! Data: TObject; // so geändert i: Integer; begin for i := ListBox1.Items.Count - 1 downto 0 do begin Data := ListBox1.Items.Objects[i]; Dispose (Data); // incompatibl Types end; end; |
Re: Link in ListBox und TTreeview !
Delphi-Quellcode:
procedure TForm1.FormDestroy(...);
var Data: PMyLink; i: Integer; begin for i := ListBox1.Items.Count - 1 downto 0 do begin Data := PMyLink (ListBox1.Items.Objects[i]); // << Dispose (Data); end; end; |
Re: Link in ListBox und TTreeview !
Danke! Es funktioniert sehr gut.
Aber die ListBox1-Icons werden damit nicht angezeigt. Ja logisch, da wir mit dem Code drauf zeichnen Wie kann ich ausser Name, URL, auch Icons und Quickinfo dazu in ListBox zuweisen?
Delphi-Quellcode:
New (Data);
Data^.Name := 'Google'; Data^.URL := 'www.google.de'; Data^.Bitmap := ??? Data^.Hint := ??? ListBox1.AddItem (Data^.Name, Integer (Data)); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 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