| Autor | Beitrag | 
| JoelH 
          Beiträge: 806
 Erhaltene Danke: 17
 
 Win10
 Delphi Alexandria 11.2 Patch 1
 
 | 
Verfasst: Di 24.10.23 09:25 
 
Folgenden Code nutze ich um in einer TreeView dynamische Hints für einzelne Nodes zu erzeugen.
 		                       Delphi-Quelltext 
 									| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 14:
 15:
 16:
 17:
 18:
 19:
 
 | procedure Tfrm_uebersicht.tree_uebersichtHint(Sender: TObject;const Node: TTreeNode; var Hint: string);
 var trid, i : Integer;
 begin
 trid := TNodeData(Node.Data).RecordID;
 if  trid > -1 then
 begin
 Hint := 'Datum: '+Tree_records[trid].MeinDATUM;
 if length(Tree_records[trid].Notizen) > 0 then
 begin
 Hint := Hint +#10+'Dieser Eintrag hat folgende Notizen:'+#10;
 for i := 0 to length(Tree_records[trid].Notizen)-1 do
 begin
 Hint := Hint + #10+Tree_records[trid].Notizen[i].BESCHREIBUNG;
 end;
 end;
 end;
 inp_test.Hint := Hint;
 end;
 |  Das funktioniert insofern, dass der Hint angezeigt wird, allerdings im Treeview nur die erste Zeile des Hints, also das Datum. Zum Test habe ich ein Edit eingefügt auf der Form und den Hint dort angehängt. Dort werden alle Zeilen, also auch die Notizinfos, im Hint angezeigt. 
 Ist das ein normales Verhalten bei TreeViews oder stehe ich gerade irgendwie auf dem Schlauch und habe eine bestimmte Einstellung übersehen?_________________ mfg. Joel
 | 
|  | 
| Sinspin 
          Beiträge: 1335
 Erhaltene Danke: 118
 
 Win 10
 RIO, CE, Lazarus
 
 | 
Verfasst: Di 24.10.23 17:43 
 
Hey, 
 Ich denke es hängt vom Hint ab ob der mehrzeilig kann oder nicht. Wenn ich mich recht erinnere dann können die Delphi Hints nur einzeilig. Das ist ja eine Windows Function, das kann man auch selber aufrufen.
 _________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
 | 
|  | 
| JoelH  
          Beiträge: 806
 Erhaltene Danke: 17
 
 Win10
 Delphi Alexandria 11.2 Patch 1
 
 | 
Verfasst: Mi 25.10.23 06:08 
 
	  |  Sinspin hat folgendes geschrieben  : |  	  | Wenn ich mich recht erinnere dann können die Delphi Hints nur einzeilig. | 
 Nein, wie beschrieben, der Hint angehängt an die Edit-Komponente "inp_Text" gibt mir den gesamten, mehrzeiligen Text zurück. Deshalb vermute ich, es liegt an der TreeView-Komponente._________________ mfg. Joel
 | 
|  | 
| Th69 
          
  Beiträge: 4800
 Erhaltene Danke: 1059
 
 Win10
 C#, C++ (VS 2017/19/22)
 
 | 
Verfasst: Mi 25.10.23 08:48 
 
Gefunden habe ich folgende englische Seite: Multiline tooltips in a treeview (XE2)  (also ein eigenes von TTreeView  abgeleitetes Control erzeugen und die Windows-Message TTN_NEEDTEXTW  behandeln) Für diesen Beitrag haben gedankt: JoelH
 | 
|  | 
| Gausi 
          Beiträge: 8550
 Erhaltene Danke: 478
 
 Windows 7, Windows 10
 D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
 
 | 
Verfasst: Mi 25.10.23 09:04 
 
Der eigentliche Hint im Treeview kann mehrzeilig sein, aber der knotenspezifische Hinweistext (der unabhängig von der Property "Hint" ist), unterstützt wohl nur einzeilige Strings.
 Spricht etwas gegen den Einsatz vom VirtualStringTree, der zwar etwas Einarbeitung benötigt, aber solche Probleme nicht hat? Dort klappen mehrzeilige Hints ohne Probleme, die kollidieren nicht mit dem Standard-Hint (d.h. keine doppelte Anzeige). Und wenn man mag, kann man da das Hintfenster auch komplett selber malen und z.B. auch Bilder einfügen.
 _________________ We are, we were and will not be.
 Für diesen Beitrag haben gedankt: JoelH
 | 
|  | 
| Sinspin 
          Beiträge: 1335
 Erhaltene Danke: 118
 
 Win 10
 RIO, CE, Lazarus
 
 | 
Verfasst: Mi 25.10.23 09:26 
 
_________________ Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
 
 Zuletzt bearbeitet von Sinspin am Mi 25.10.23 14:56, insgesamt 1-mal bearbeitet
 | 
|  | 
| JoelH  
          Beiträge: 806
 Erhaltene Danke: 17
 
 Win10
 Delphi Alexandria 11.2 Patch 1
 
 | 
Verfasst: Mi 25.10.23 12:49 
 
	  |  Gausi hat folgendes geschrieben  : |  	  | Spricht etwas gegen den Einsatz vom VirtualStringTree | 
 Nur "Bordmittel" erlaubt. Dann muss ich mir was anderes überlegen, passt schon._________________ mfg. Joel
 | 
|  | 
| Holgerx 
          Beiträge: 66
 Erhaltene Danke: 27
 
 Win95 - Win11 / MSServer2000 - MSServer2019
 Delphi 6pro / XE4
 
 | 
Verfasst: Mi 25.10.23 15:47 
 Für diesen Beitrag haben gedankt: JoelH
 | 
|  | 
| Th69 
          
  Beiträge: 4800
 Erhaltene Danke: 1059
 
 Win10
 C#, C++ (VS 2017/19/22)
 
 | 
Verfasst: Mi 25.10.23 16:55 
 
Holgerx: Es geht nicht um den Hint  für das gesamte TTreeView , sondern für die einzelnen TTreeNode -Einträge (über das OnHint -Ereignis).
 Aber dein Vorschlag mittels OnMouseMove  (und GetNodeAt ) ist auch eine gute Alternative. | 
|  | 
| JoelH  
          Beiträge: 806
 Erhaltene Danke: 17
 
 Win10
 Delphi Alexandria 11.2 Patch 1
 
 | 
Verfasst: Do 26.10.23 09:03 
 
_________________ mfg. Joel
 | 
|  | 
| Holgerx 
          Beiträge: 66
 Erhaltene Danke: 27
 
 Win95 - Win11 / MSServer2000 - MSServer2019
 Delphi 6pro / XE4
 
 | 
Verfasst: Fr 27.10.23 09:03 
 Für diesen Beitrag haben gedankt: JoelH, Th69
 | 
|  |