Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi VirtualStringTree und Feldlänge (https://www.delphipraxis.net/105317-virtualstringtree-und-feldlaenge.html)

Trille 19. Dez 2007 18:27


VirtualStringTree und Feldlänge
 
Hallo allerseits, ich habe einen VirtualStringTree, in dem ich alle Knoten editieren kann. Wie kann ich nun beispielsweise bewerkstelligen, dass der Benutzer einen zu lngen Text (Länge größer als 40 Zeichen) eingeben kann? Die Abfrage der Länge bei onNewText ist zu spät. Ich möchte von vornherein verhindern, dass man zuviele Zeichen eingeben kann.

generic 19. Dez 2007 18:32

Re: VirtualStringTree und Feldlänge
 
du hast doch dazu bestimmt ein edithandler geschrieben, welche ein tedit erzeugt?
dann setz doch einfach das maxlength in dem edit.

Trille 19. Dez 2007 18:38

Re: VirtualStringTree und Feldlänge
 
Zitat:

Zitat von generic
du hast doch dazu bestimmt ein edithandler geschrieben, welche ein tedit erzeugt?
dann setz doch einfach das maxlength in dem edit.

Das habe ich eben nicht getan. Ich hab einfach ganz normal das ding auf Edutable gesetzt und noch ein bisschen Schnickschnack drumherum. wie bewerkstellige ich denn sowas?

generic 19. Dez 2007 18:49

Re: VirtualStringTree und Feldlänge
 
easy

oncreateeditor einfach mit folgenden implementieren

Delphi-Quellcode:
procedure Tform1.vstCreateEditor(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Column: TColumnIndex; out EditLink: IVTEditLink);
var
  x: TStringEditLink;
begin
  x:=TStringEditLink.Create;
  x.Edit.MaxLength:=40;
  EditLink:=x;
end;

Trille 19. Dez 2007 19:01

Re: VirtualStringTree und Feldlänge
 
Zitat:

Zitat von generic
easy

oncreateeditor einfach mit folgenden implementieren

Delphi-Quellcode:
procedure Tform1.vstCreateEditor(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Column: TColumnIndex; out EditLink: IVTEditLink);
var
  x: TStringEditLink;
begin
  x:=TStringEditLink.Create;
  x.Edit.MaxLength:=40;
  EditLink:=x;
end;

Sehr schön, danke

Trille 20. Dez 2007 09:38

Re: VirtualStringTree und Feldlänge
 
Zum gleichen Thema habe ich auch noch eine Frage. Ich habe das Verhalten so implementiert, dass ich mit den Pfeiltasten durch den Baum navigieren kann (links, rechts, oben, unten), halt genau wie in Excel. Wenn ich mich jetzt im Editiermodus befinde, möchte ich aber auch gern mit den Pfeiltasten weiterwechseln können. Das Problem daran ist, dass der Baum ja nicht auf Keyevents reagiert, wenn er im Editiermodus ist. Wie kann ich das bewerkstelligen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz