VC++: Desactivar la tecla Escape en ventanas no modales
En ocasiones puede ser necesario la desactivación de la funcionalidad que traen por defecto las ventanas no modales en Windows que hace que al pulsar ESC la ventana desaparezca.
En realidad lo que hace el sistema es considerar la pulsación como pinchar en el botón Cancelar de la ventana... si lo hubiese. El truco para desactivarlo desde VC++ es simplemente crear una función que sobreescriba la función de OnCancel()
Así, por ejemeplo para una supuesta clase CMiClaseDeEjemplo, quedaría
MiClaseDeEjemplo.cpp
void CMiClaseDeEjemplo::OnCancel()
{
}
MiClaseDeEjemplo.h
protected:
virtual void OnCancel();
Con eso bastará. No hace falta ni definir mapa de mensajes ni poner botones. Fácil, ¿verdad?. No lo he llegado a probar en ventanas modales, pero imagino que funcionará exactamente igual
1 comentarios:
¿ein?
Publicar un comentario