IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

TTreeView


Sujet :

Composants VCL Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 11
    Points : 11
    Points
    11
    Par défaut TTreeView
    Salut ...

    Je me sers d'un TtreeView et j'aimerai avoir des noeuds grisés et non selectionnable (ou meme non ouvrable) genre enabled:=false ... Quelqu"un saurait comment faire ? ? ?

    Merci!

    Lasconic

    PS : Si vous connaissez un tuto détaillé (qui va plus loin que ajouter enlever des noeuds) sur les treeview, je suis preneur parce que ça court pas les fils de la toile !

  2. #2
    Nouveau membre du Club
    Inscrit en
    Avril 2002
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 30
    Points : 28
    Points
    28
    Par défaut
    Salut,


    Pour ce qui est de d'autoriser ou non l'expand de certains noeuds, tu peux utiliser l'évènement OnExpanding qui te passe le noeud en question et un varaible booléenne permettant d'autoriser ou non l'expand. A toi de savoir en traitant les informations du noeud s'il peu être déplier.

    Pour ce qui est de grisé le noeud, Tu peux utiliser l'évènement On advancedcustomDrawItem. Tu pourras ainsi changer la police en dessinant certains noeuds.

    J'espère que ca te convient

    Bon courage

    @+
    Si vous avez un travail où il n'y a pas de complications, vous n'avez pas de travail.
    Malcolm Forbes (Analyste financier américain)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 48
    Points : 43
    Points
    43
    Par défaut
    essaye cela pour empecher la selection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var node : ttreenode;
    begin
    node := TreeView1.GetNodeAt(x,y);
    if node = nil then exit;
    if node.text  = 'toto' then
    begin
    button1.SetFocus;
    end;
    end;
     
    procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
    begin
    if node.text  = 'toto' then
    begin
    button1.SetFocus;
    end;
    end;
    et cela pour griser ton noeud
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
      Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
    begin
    if node.text  = 'toto' then
    begin
    treeview1.Canvas.brush .color := clgray;
    end;

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 11
    Points : 11
    Points
    11
    Par défaut
    Meci à tous ça devrait etre bon tout ça ...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 48
    Points : 43
    Points
    43
    Par défaut
    et pour ne pas expander un noeud tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TForm1.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
      var AllowExpansion: Boolean);
    begin
    if node.text  = 'toto' then
    begin
    AllowExpansion := false;
    end;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Ttreeview] Autoscroll?
    Par Superstivix dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/07/2004, 16h28
  2. [TTreeView] Problème avec les pointeurs d'objet
    Par BlackWood dans le forum Composants VCL
    Réponses: 2
    Dernier message: 02/07/2004, 14h31
  3. TTreeView: AutoExpand
    Par nmathon dans le forum Composants VCL
    Réponses: 6
    Dernier message: 04/03/2003, 15h48
  4. TTreeView -> Comment ouvrir une unité ?
    Par DaLove dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/12/2002, 11h30
  5. Couleur des noeuds ds 1 TTreeView
    Par vincent DD dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/09/2002, 13h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo