Saber si el cursor esta fuera del form
Hola a todos por aqui....
Hace mucho que queria saber como hacer esto.....y aun no he encontrado una solucion.... Si alguien sabe como obtener esto pues se los agradeceria, ya que si lo he requerido algunas veces y pues lo he resuelto de formas que no me quedan bien... Sin otra cosa que decir.... Gracias por su atención... |
Podría ser algo así:
// Saludos |
Quizá te sirva este código un poco modificado a lo que necesites hacer en tu programa:
Fuente: http://delphi.about.com/cs/adptips20...ltip0800_5.htm |
Cita:
bueno...primeramente gracias por sus respuestas...pero Roman...podrias decirme que hace la funcion PtInRect para devolver true?, y la propiedad boundsRect que indica de la forma(si es que es propiedad)?.... |
PtInRect indica si un punto está dentro de un rectángulo. En este caso, el punto es la posición del curosr del ratón y el rectángulo es el área que abarca el formulario, que es BoundsRect.
// Saludos |
Ahora si...
OK Gracias... PD. Y aparte de un hilo o timer en donde se puede poner este if-else?? |
Bueno...otra forma de hacerlo es capturar los mensajes CM_MOUSEENTER y CM_MOUSELEAVE del formulario y utilizar el Procedimiento asociado del formulario(WindowProc).
Mas o menos asi: La imprementación sería: Por supuesto que tenemos que poner lo siguiente en el evento OnCreate del formulario: Claro está que se puede capturar directamente los mensaje CM_MOUSEENTER y CM_MOUSELEAVE sin utilizar el procedimiento asociado a la ventana o formulario, pero lo malo que le veo al hacerlo así es que no solamante se captura los mensajes que van al formualrio sino tambien los mensajes que van tambien a los controles que se encuentran en el formulario.;). Saludos...:) |
Se que no es gran ayuda este codigo pero espero y te funcione :
|
me acabo de dar cuenta que me falta cuando sale hacia la derecha e izquierda asi que solo implemente este codigo
donde los valores de 18 y 42 corresponden a los bordes y a la cabecera del formulario |
Cita:
Pero este metodo como que tarda un poco en cambiar de estado al capturar los mensajes... |
Cita:
GRACIAS A TODOS POR SU TIEMPO Y CONOCIMIENTOS.... |
La franja horaria es GMT +2. Ahora son las 18:45:55. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi