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 :

Treeview et check Box


Sujet :

Composants VCL Delphi

  1. #1
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut Treeview et check Box
    salut,

    Est ce que quelqu'un aurait une moyen demettre des checkbox dans une treeview ?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Voir si le VirtualTreeView le fait, sinon dans le OnDraw tu peux tenter de dessiner une case à cocher et tu utilise la propriété Data pour stocker le Checked
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    Ce composant à l'air bien mais c est franchement une usine a gaz rien que pour rajouter un node (je suis pas sur que plus compliqué cela soit possible, a moins que je n'ai rien compris)!

  4. #4
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    autant pour moi , je viens de trouver un code source sur internet qui explique mieux que le pdf.
    je continu a faire mes essais

  5. #5
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 674
    Points : 5 259
    Points
    5 259
    Par défaut
    Pourrait-tu donner le lien ou trouver le code afin que tout le monde en profite

  6. #6
    Membre averti

    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    908
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 908
    Points : 447
    Points
    447
    Par défaut
    y a pas de soucis

    alors le lien pour télécharger le composant :

    http://www.soft-gems.net/index.php?o...d=12&Itemid=38


    Et pour le code ça donne un truc comme ça :

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    unit Unit1;
     
    interface
     
    ...
     
    type
      TPrivateNode=class
      private
        Text:string;
      end;
     
      TForm1 = class(TForm)
        VirtualStringTree1: TVirtualStringTree;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
      public
        { Déclarations publiques }
      end;
     
     
    var
      Form1: TForm1;
     
    implementation
     
    uses Unitpp;
     
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Noeud:   TPrivateNode;
      NoeudPrecedent,NoeudPrecedent2:   PVirtualNode;
    begin
      inherited;
      VirtualStringTree1.BeginUpdate;
      try
        VirtualStringTree1.Clear;
        //On defini la taille que prendra chaque noeud
        VirtualStringTree1.NodeDataSize := SizeOf(TPrivateNode);
     
    	Noeud := TPrivateNode.Create;
        Noeud.Text := '1';
        NoeudPrecedent:=VirtualStringTree1.AddChild(nil,noeud);
     
        Noeud := TPrivateNode.Create;
        Noeud.Text := '2';
        NoeudPrecedent2:=VirtualStringTree1.AddChild(NoeudPrecedent,Noeud);
     
        VirtualStringTree1.FullExpand;
      finally
        VirtualStringTree1.EndUpdate;
      end;
    end;
     
    procedure TForm1.VirtualStringTree1GetText(Sender: TBaseVirtualTree;
      Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
      var CellText: string);
    var
      Data : ^TPrivateNode;
    begin
      inherited;
      //On recupere le pointer stocké dans le noeud
      Data := Sender.GetNodeData(Node);
      CellText:=Data.text;
    end;
     
    procedure TForm1.VirtualStringTree1InitNode(Sender: TBaseVirtualTree;
      ParentNode, Node: PVirtualNode; var InitialStates: TVirtualNodeInitStates);
    begin
      inherited;
      Node.CheckType := ctTriStateCheckBox;
    end;
     
    procedure TForm1.VirtualStringTree1PaintText(Sender: TBaseVirtualTree;
      const TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex;
      TextType: TVSTTextType);
    var
      Data : ^TPrivateNode;
    begin
      inherited;
      Data := Sender.GetNodeData(Node);
      TargetCanvas.Font.Color := clRed;
    end;
     
    end.

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

Discussions similaires

  1. Treeview avec check box
    Par Nico820 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 19/08/2010, 12h01
  2. eVC++ 4 : check box transparente
    Par zenetcalme dans le forum MFC
    Réponses: 10
    Dernier message: 29/11/2005, 09h11
  3. cocher tout les check box
    Par Flob dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/02/2005, 10h29
  4. [C#] TreeView noeud checked mais pas selectionné
    Par jmr dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/11/2004, 17h05
  5. [FLASH 5] check box sous Flash 5
    Par Flash5man dans le forum Flash
    Réponses: 7
    Dernier message: 01/09/2004, 08h48

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