Im utilisant ttreeview de delphi comme un menu 'options'. comment irais-je sur la sélection du prochain nœud à l'exécution comme un bouton précédent et suivant? J'ai essayé les méthodes getprev et getnext mais pas de chance.Utilisation de TTreeview en tant que menu
1
A
Répondre
5
Ici, vous avez le comportement 'Suivant'. Pour « Précédent » Je laisse comme exercice pour vous: :-)
procedure TForm8.btn1Click(Sender: TObject);
var
crt: TTreeNode;
begin
with tv1 do //this is our tree
begin
if Selected=nil then
crt:=Items[0] //the first one
else
crt:=Selected.GetNext; //for previous you'll have 'GetPrev'
if crt<>nil then //can be 'nil' if we reached to the end
Selected:=crt;
end;
end;
HTH
1
Peut-être il y a un peu d'espace au point d'arbre pour stocker le pointeur vous page correcte.
Mais - si vous avez un peu de temps - essayez d'explorer Virtual Treeview - c'est le meilleur composant treeview de Delphi.
0
ici est une autre façon de le faire:
type TfrmMain = class(TForm)
...
public
DLLHandle : THandle;
function GetNodePath(node: TTreeNode; delimiter: string = '\') : String;
...
function TfrmMain.GetNodePath(node: TTreeNode; delimiter: string = '\') : String;
begin
Result:='';
while Assigned(node) do
begin
Result:=delimiter+node.Text+Result;
node:=node.Parent;
end;
if Result <> '' then
Delete(Result, 1, 1);
end;
...
voici comment l'utiliser: sur votre clic de TreeView ou l'événement doubleClick faire
...
var
path : String;
begin
path:=GetNodePath(yourTreeView.Selected);
ShowMessage(path);
...
si vous avez un « article 1 » et un sous-élément appelé 'Item 1' et cliquez sur le point 2 que le message devrait être 'Item 1 \ Item 2'. En faisant cela, vous pouvez avoir un meilleur contrôle ...
espérons que cela vous donne une autre idée pour améliorer votre code
Questions connexes
- 1. Utilisation de VIM en tant que visualiseur de fichier journal
- 2. Utilisation de JQuery en tant que ressource Web intégrée ASP.NET
- 3. Utilisation d'un objet en tant que clé de dictionnaire générique
- 4. Utilisation de Chromium en tant que MFC CWnd
- 5. Utilisation de Django en tant que backend pour Cappuccino
- 6. Utilisation d'une table std :: map en tant que tableau associatif
- 7. Utilisation des onglets JQuery en tant que navigation principale
- 8. Afficher le menu pour un ToolStripDropDownButton en tant que menu contextuel
- 9. .NET en tant que client, Java en tant que serveur
- 10. Utilisation d'une boîte à outils WPF DatePicker en tant que paramètre d'un ObjectDataProvider utilisé en tant que source d'éléments
- 11. Utilisation d'objets Type en tant que paramètres de type pour génériques en C#
- 12. Utilisation de pages .aspx en tant que modèle HTML en dehors d'une requête HTTP ASP.NET 3.5
- 13. Répertoires virtuels en tant que requêtes DB
- 14. Utilisation d'une grille en tant qu'élément Items
- 15. UserControl en tant que tabItem
- 16. Utilisation d'une fonction de membre de classe C++ en tant que fonction de rappel C
- 17. Utilisation de la clé publique de l'assemblage signé en tant que mesure de sécurité
- 18. Sortie en tant que tableau
- 19. appostrophes venir en tant que
- 20. Choisir la base de données FILEGROWTH en tant que% ou en tant que Taille fixe
- 21. Utilisation de l'implémentation de l'analyseur XML en tant que service OSGi
- 22. Utilisation de UserControl de .NET en tant que contrôle intégré via COM
- 23. Utilisation de WebPy en tant que serveur de contenu HTTP statique
- 24. Utilisation d'un objet de non-collection en tant que source de données
- 25. Utilisation: menu déroulant dynamique Population
- 26. Ressource de l'assembly en tant que flux
- 27. Propriété de classe en tant que collection
- 28. Enregistrement de la page Web en tant que fichier MHTM
- 29. Utilisation d'un écran d'ordinateur en tant que périphérique de retour eXtreme
- 30. Utilisation d'un objet string en tant que clé de hachage dans Common Lisp