J'ai un fichier VST avec toFullRowSelect
(avec quelques colonnes). Je voudrais activer glisser & déposer sur les nœuds.TVirtualStringTree - Comment activer glisser lorsque vous cliquez sur une zone de la ligne sélectionnée?
Le problème est que vous pouvez commencer à draguer le ou les nœuds uniquement si vous cliquez directement sur le nœud sous la légende. Si le clic a été effectué sur la sélection de ligne mais pas sur la légende du noeud, l'opération de glissement ne démarrera pas et OnDragAllowed
ne se déclenchera pas.
Le MCVE est simple. déposer un TVirtualStringTree
(nommez VST
) sur la forme et ajouter OnCreate
et OnDragAllowed
pour le VST:
procedure TForm1.FormCreate(Sender: TObject);
begin
VST.TreeOptions.SelectionOptions := VST.TreeOptions.SelectionOptions + [toFullRowSelect];
VST.RootNodeCount := 5;
end;
procedure TForm1.VSTDragAllowed(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; var Allowed: Boolean);
begin
Allowed := True;
end;
Maintenant, si vous cliquez sur une légende de nœud, l'opération de déplacement commence, mais pas si vous essayez de faire glisser autre zone du noeud sélectionné.
Comment cela peut-il être résolu? Merci.
Merci! Je ne peux pas croire que j'ai manqué cette option. – zig
Merci! Je viens de modifier la mise en forme (pour s'adapter au style que j'utilise :) – Victoria