salut,
Est ce que quelqu'un aurait une moyen demettre des checkbox dans une treeview ?
Merci d'avance
salut,
Est ce que quelqu'un aurait une moyen demettre des checkbox dans une treeview ?
Merci d'avance
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
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)!
autant pour moi , je viens de trouver un code source sur internet qui explique mieux que le pdf.
je continu a faire mes essais
Pourrait-tu donner le lien ou trouver le code afin que tout le monde en profite
Mes tutoriels
Avant de poster :
- F1
- FAQ
- Tutoriels
- Guide du développeur Delphi devant un problème
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager