Zitat von
m0sch3r:
1. Welche Eingenschaft im VirtualTreeView sorgt dafur das beim doppelclick sich die Childnodes nicht einklappen...!? sondern die ganze Zeit ausgeklappt bleiben...
Wenn die Nodes generell ausgeklappt bleiben sollen, also auch, wenn man auf das - daneben klickt, dann kannst du einfach im Ereignis OnExpanding die Variable Allowed auf false setzen:
Delphi-Quellcode:
procedure TMyForm.VTCollapsing(Sender: TBaseVirtualTree; Node: PVirtualNode; var Allowed: Boolean);
begin
Allowed := false;
end;
Wenn allerdings nur bei einem Doppelklick nichts passieren soll, fällt mir nur ein, dass du im OnDblClick eine Variable auf true setzt, und im OnExpanding dann abfragst, ob diese true ist - dann setzt du wieder Allowed false, ansonsten Allowed auf true:
Delphi-Quellcode:
type
TMyForm = class(TForm)
VT: TVirtualStringTree;
...
procedure VTCollapsing(Sender: TBaseVirtualTree; Node: PVirtualNode; var Allowed: Boolean);
procedure VTDblClick(Sender: TObject);
private
IsDblClick: boolean;
end;
implementation
procedure TMyForm.VTDblClick(Sender: TObject);
begin
IsDblClick := true;
end;
procedure TMyForm.VTCollapsing(Sender: TBaseVirtualTree; Node: PVirtualNode; var Allowed: Boolean);
begin
Allowed := not IsDblClick;
if IsDblClick then
IsDblClick := false;
end;