Problème sur Renomer dans un CTreeCtrl
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:
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:
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