Bonjour!

J'ai un petit problème.
J'ai fait un petit code pour que mes forms puissent se fermer à l'appui de la touche Echap, en ayant bien mis la propriété KeyPreview de ma form à true:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
void __fastcall MaForm::FormKeyPress(TObject *Sender, char &Key)
{
	if (Key == VK_ESCAPE)
	{
	ModalResult = mrCancel;
              	Close();
 
	}
}
ça marche bien, mais le problème c'est que lorsque l'on appuie sur echap dans une liste déroulante qui est déroulée, la form se ferme.

Ma question est-donc, comment éviter cela?

J'ai essayé de tester la classe du paramètre Sender en ajoutant ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if (!Sender->ClassNameIs("TLMDComboBox") && !Sender->ClassNameIs("TComboBox"))
Mais ça ne marche pas, cette méthode ne doit pas convenir...

Merci d'avance!