Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1408 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [VC++] Treeview ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VC++] Treeview ?

n°296311
freds45
Posté le 29-01-2003 à 15:00:08  profilanswer
 

Voila, je suis en train de coder un truc, et j'ai besoin d'un treeview. J'ai donc cree une classe qui derive de CTreeView, et j'arrive a inserer des elements a l'interieur, mais maintenant le truc que je trouve pas, c'est comment avoir un petit '+' a cote de certains elements qui contient d'autres, un peu comme un disque dur dans l'explorateur de windows... si qqun a une idee...  :hello:


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
mood
Publicité
Posté le 29-01-2003 à 15:00:08  profilanswer
 

n°296340
Angel_Eyes
Wait & see...
Posté le 29-01-2003 à 15:24:42  profilanswer
 

voir propriétés du MFC TreeView, il y a un page avec ces props


---------------
Angel Eyes, j'en raffole tous les matins... :pt1cable:  
n°296344
Angel_Eyes
Wait & see...
Posté le 29-01-2003 à 15:32:10  profilanswer
 

Tree View properties -> style -> has buttons


---------------
Angel Eyes, j'en raffole tous les matins... :pt1cable:  
n°296353
freds45
Posté le 29-01-2003 à 15:36:53  profilanswer
 

c'est pas une frame que j'ai fait avec le dialog editor :/, je la cree dans mon code:
 

Code :
  1. BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
  2. {
  3. // TODO: Add your specialized code here and/or call the base class
  4. splitter.CreateStatic(this,1,2);
  5. splitter.CreateView(0,0,RUNTIME_CLASS(CMyTreeView),CSize(100,0),pContext);
  6. splitter.CreateView(0,1,RUNTIME_CLASS(CMyListView),CSize(0,0),pContext);
  7. //splitter.CreateView(1, 1,)
  8. return (TRUE);
  9. }


 
J'ajoute les elements dans le OnCreate qui correspond a la classe CMyTreeView:
 
 

Code :
  1. int CMyTreeView::OnCreate(LPCREATESTRUCT lpCreateStruct)
  2. {
  3. if (CTreeView::OnCreate(lpCreateStruct) == -1)
  4.  return -1;
  5. // TODO: Add your specialized creation code here
  6. CTreeCtrl &a = GetTreeCtrl();
  7. a.InsertItem("Header" );
  8. a.InsertItem("Optionnal header" );
  9. a.InsertItem("Data directory" );
  10. HTREEITEM sections = a.InsertItem("Section Table" );
  11.  a.InsertItem("Section 0",sections);
  12.  a.InsertItem("Section 1",sections);
  13.  a.InsertItem("Section 2",sections);
  14.  a.InsertItem("Section 3",sections);
  15. a.InsertItem("Imports" );
  16. a.InsertItem("Exports" );
  17. return 0;
  18. }


Je vois pas trop :/


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
n°296355
Angel_Eyes
Wait & see...
Posté le 29-01-2003 à 15:40:06  profilanswer
 

sorry, ai pas ma doc sous la main pour le moment, je répondrai vers 20h si personne ne l'a fait d'ici là.
 
Faut regarder pour has buttons dans la doc MFC


---------------
Angel Eyes, j'en raffole tous les matins... :pt1cable:  
n°296356
youdontcar​e
Posté le 29-01-2003 à 15:45:50  profilanswer
 
n°296357
Angel_Eyes
Wait & see...
Posté le 29-01-2003 à 15:46:16  profilanswer
 

c'est un paramètre de CTreeCtrl::create, voir doc MFC


---------------
Angel Eyes, j'en raffole tous les matins... :pt1cable:  
n°296358
Angel_Eyes
Wait & see...
Posté le 29-01-2003 à 15:47:02  profilanswer
 

youdontcare : exactement :D


---------------
Angel Eyes, j'en raffole tous les matins... :pt1cable:  
n°296363
freds45
Posté le 29-01-2003 à 15:51:59  profilanswer
 

merci pour vos reponses :jap:, mais ... je le mets ou dans mon code?  :??:
 
En fait j'ai pas un "vrai" appel au constructeur, c'est quand j'ajoute la classe au splitter qu'elle est instanciee j'imagine ? :??:
 

Code :
  1. splitter.CreateView(0,0,RUNTIME_CLASS(CMyTreeView),CSize(100,0),pContext);


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
n°296389
youdontcar​e
Posté le 29-01-2003 à 16:10:24  profilanswer
 

apparemment dans ton cas ce n'est pas possible à la création, donc passe par ModifyStyle :
 
http://msdn.microsoft.com/library/ [...] wnd_94.asp
 
CTreeCtrl &a = GetTreeCtrl();  
a.ModifyStyle(0, TVS_HASLINES);

mood
Publicité
Posté le 29-01-2003 à 16:10:24  profilanswer
 

n°296431
freds45
Posté le 29-01-2003 à 16:31:29  profilanswer
 

j'ai fait comme ca, et ca marche!
[:kazouille]
 

Code :
  1. a.ModifyStyle(0, TVS_HASBUTTONS|TVS_LINESATROOT |TVS_HASLINES);


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
n°296436
junior07
Posté le 29-01-2003 à 16:32:38  profilanswer
 

Il faut que tu utilise la méthode PreCreateWindow (de mémoire).
Elle prend en paramètre une structure CREATESTRUCT.
 
La, un petit coup de cs.style |= TVS_HASBUTTONS et c'est gagné

n°296483
freds45
Posté le 29-01-2003 à 17:47:16  profilanswer
 

junior07 a écrit :

Il faut que tu utilise la méthode PreCreateWindow (de mémoire).
Elle prend en paramètre une structure CREATESTRUCT.
 
La, un petit coup de cs.style |= TVS_HASBUTTONS et c'est gagné


 
 
j'essaierai aussi ca :)


---------------
Filmstory : gardez trace des films que vous avez vu ! :D

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [VC++] Treeview ?

 

Sujets relatifs
treeviewTreeView & LoadFromFile
[Delphi] Composant qui affiche du XML sous forme de Treeview ?DHTML, problèmes avec une treeview
treeView en delphi ?????? 
Plus de sujets relatifs à : [VC++] Treeview ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR