Bonjour à tous,
Je travaille avec C++ Builder XE6.
j'ai un problème dont je ne comprends pas l'origine.
Dans un KeyPress je veux transformer un Enter ('r' ou VK_RETURN) en tabulation.
J'utilisais sans problème :
Actuellement avec le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if(Key =='r') { Key=0; // pour éviter le beep //ShowMessage("Vers NextControl"); FindNextControl(dynamic_cast<TWinControl*>(Sender),true,true,false)->SetFocus(); }
Non seulement il n'y a pas la transformation du Retour chariot en tabulation, mais il n'y a pas le message "Entrée dans eSystoleKeyPress".
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 void __fastcall TfNouveau::eSystoleKeyPress(TObject *Sender, System::WideChar &Key) { ShowMessage("Entrée dans eSystoleKeyPress"); if(Key == VK_RETURN) // ou if(Key == 'r') { Key=0; // pour éviter le beep ShowMessage("Vers NextControl"); FindNextControl(dynamic_cast<TWinControl*>(Sender),true,true,false)->SetFocus(); } else { char DecimalSeparator = '.'; if ((Key < '0' || Key >'9') && Key != 8 && (Key != DecimalSeparator || ((TEdit *)Sender)->Text.Pos(DecimalSeparator)!=0)) Key = NULL; } } //-----------------
Quelle peut être la cause de ce comportement ?
Merci de votre aide.
Partager