2017-04-12 3 views
0

Ich ändere das MultilineDemo, das mit dem VirtualTreeView-Ordner git geliefert wird (Virtual-TreeView-master \ Demos \ Advanced). Ich habe gerade den mehrzeiligen "Anzeige" -Code entfernt und dem onClick-Handler der VST Code hinzugefügt, um den angeklickten Knoten editierbar zu machen.Wie kann ein VirtualTreeView-Knoten eine TMemo-ähnliche Multiline-Tastatureingabe anstelle des TEdit-Standardverhaltens ermöglichen?

Ich möchte mehrzeiligen Text in einen Knoten wie TMemo eingeben, aber die Enter oder Shift + Enter-Taste drücken, um die Bearbeitung zu beenden. Siehe das Bild unten. Ich konnte kein Keypress-Ereignis für einen Knoten im VST-Eigenschaftsfenster finden, um das Standardverhalten zu ändern. Mein Ziel ist es, einen Baum wie Kontrolle mit Knoten zu haben, die in der Lage sind, mehrzeilige Eingaben vorzunehmen.

Ich glaube nicht, dass ich irgendeinen Code aus meiner aktuellen Anwendung veröffentlichen muss.

Default TEdit like behavior of a node in Virtual Tree View

+1

Sie müssen Ihren eigenen 'IVTEditLink'-Editor implementieren, ein Memo-Steuerelement erstellen und dessen Schlüsselereignisse verarbeiten. Siehe Demos/Advanced/Editors.pas-Einheit für 'vtMemo'-Werte. Es ist sicherlich, was Sie wollen (Sie müssten die 'EditKeyDown' Methode für diese Shift Key Handhabung ändern, aber das Prinzip kann von dort gelesen werden). Wenn Sie mehr Hilfe benötigen, lassen Sie es mich wissen. – Victoria

+0

Danke, Victoria, du kannst diesen Kommentar als Antwort posten. – user30478

+0

Gern geschehen! Erledigt ;) – Victoria

Antwort

2

Sie müssen Ihren eigenen IVTEditLink Editor implementieren, ein Memo-Steuerelement erstellen und seine Schlüssel nach unten Ereignisse zu behandeln. Siehe /Demos/Advanced/Editors.pas Einheit für vtMemo Art von Werten. Es macht fast, was Sie wollen. Es zeigt, wie ein Memo-Steuerelement als Knoteneditor erstellt wird und wie das Ereignis des Steuerelements des Editors ausgeführt wird (in diesem Fall die Methode EditKeyDown).

Verwandte Themen