Bonjour à tous, je suis nouveau sur le forum.

Voilà, j'ai un treectrl myTree definie dans le ressource,

quand je fais F2 , j'obtient un CEdit et je peux renomer l'item du tree.
je veux empécher l'utilisateur de taper sur le touche +,*,-,/,&,\

Alors j'ai utilisé ce code:
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
 
BOOL CMyDlg::PreTranslateMessage(MSG* pMsg)
{
   if (pMsg->message == WM_KEYDOWN &&
      pMsg->wParam == VK_RETURN || pMsg->wParam == VK_ESCAPE)
   {
      CEdit* edit = myTree.GetEditControl();
      if (edit)
      {
         edit->SendMessage(WM_KEYDOWN, pMsg->wParam, pMsg->lParam);
         return TRUE;
      }
   }
   if (pMsg->message == WM_KEYDOWN)
      switch(pMsg->wParam)
   {
      case VK_DIVIDE:
         return TRUE;
         break;
      case VK_MULTIPLY:
         return TRUE;
         break;
      case VK_ADD :
         return TRUE;
         break;
      case VK_SUBTRACT :
         return TRUE;
         break;
      case 49 : //key "&"
         return TRUE;
         break;
      case 0x38 : //key: "\"
         return TRUE;
         break;
      default:
         break;
   }
   return CDialog::PreTranslateMessage(pMsg);
}
le problème avec mon code ci dessus c'est que l'utilisateur ne peux plus acceder au touche 1(&) au dessus de A et au touche 8(\,_) au dessus de U, à cause de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
      case 49 : //key "&"
         return TRUE;
         break;
      case 0x38 : //key: "\"
         return TRUE;
         break;
auriez vous d'autre solution à me proposer? merci d'avance pour vos réponse

Remarque: j'ai déjà essayé de creer une classe héritant cedit et capturer l'event onchar mais j'ai eu un autre problème

Scottmada