TreeView + Selection

cs_Manson Messages postés 137 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 30 septembre 2004 - 1 oct. 2003 à 08:53
cs_abdenour123 Messages postés 17 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 29 mai 2009 - 7 août 2008 à 01:48
Salut,

voila j'arrive a savoir quel element d'un treeview est selectionne, mais je n'arrive pas a savoir sous quel element se trouve la souris SANS cliquer, sans etre selectionne.

Quelqu'un a une idee ?

D'avance merci

Arno

2 réponses

cs_Manson Messages postés 137 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 30 septembre 2004
1 oct. 2003 à 09:22
Bon c bon en fait j'ai reussi. Il suffisait d'utiliser les fonctions : GetCursorPos, ScreenToClient, TreeView_HitTest. Et hop le tour est joue.

Arno
0
cs_abdenour123 Messages postés 17 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 29 mai 2009
7 août 2008 à 01:48
je doit construire une phrase à partir de TTreeView telque les noeud sont les
opérateurs logique et les derniére feuilles sont les phrases.cela dit que mon
treeview est un arbre abstrait. la meilleur solution est de faire un parcour
recursif pour construire ce texte (enssemble de phrase et opérateur). j'ai
siplifier le pb et je me dit il faut esseyer avec les expréssion arithmétique au
debut.
voila ma fonction recursive mais je ne connai pas le pb car cette
fonction est biensur fausse.

si quelqu'un peut
m'aider  !!!
//------------------------------------------------------------------------------------------
void
__fastcall TForm1::Button1Click(TObject
*Sender)
{
S="";
Edit1->Text=fonction(TreeView1->Items->GetFirstNode());
}
//---------------------------------------------------------------------------
String
fonction(TTreeNode *Nodef)
{
int i;
TTreeNode *Node,*f,*l,*par;


Node=Nodef;
if(Node->HasChildren)
  {
 
par=Node->getFirstChild();
 while(par!=Node->GetLastChild())
      
{
       S=S+fonction(par)+"  "+Node->Text;
      
par=par->GetNext();
       }
       S=S+fonction(par);
      
return(S);
  }
  else
return(Node->Text);
}
//------------------------------------------------------------------------------------------
exemple

*
|  *
|   |--+
|   |    |---a
|   |    |---b
|   |
|  
|--+
|   |    |---c
|   |    |---d
|   |
|  
|
|
|--/
|--e
|---f     ----->   ((a+b)*(c+d))*(e/f)
0
Rejoignez-nous