Bonjour
Je voudrais rendre les cellules d'une MsFlexGrid éditables, donc en gros j'utilise un textbox qui se place dans la cellule voila ce que j'ai fait :
et le code associé à l'evenement change du textbox :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 void FenetreP::OnDblClickMsflexgrid1() { int row=m_msf.GetRow(); int col=m_msf.GetCol(); m_text.SetWindowText(m_msf.GetTextMatrix(row,col)); m_text.SetWindowPos(NULL,m_msf.GetRowPos(row),m_msf.GetColPos(col),30,m_msf.GetRowHeight(row),NULL); m_text.SetFocus(); }
mais ce qui est curieux c'est que je peux bien evidement ecrire dans la cellule quand jy double-clique mais une autre zone de texte s'affiche dans un autre emplacement dans la feuille...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 void FenetreP::OnChangeEdit3() { CString c; m_text.GetWindowText(c); m_msf.SetTextMatrix(row,col,c); }
Je ne sais pas vraiment où se trouve l'erreur dans ce code...
Si quelqu'un peut aider..
Partager