Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07-07-2008, 21:28:16
acalanto acalanto is offline
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.271
acalanto ha deshabilitado la reputación
Predeterminado Re: Simular MouseMove en un combo

Bueno, es que los combo no disponen de eventos MouseOver, así que la única opción es construirlos mediante ´clasificación con las API.

Si utilizas el código que aparece en el enlace (no lo he probado) seguramente te funcionará aunque la subclasificación desde VB6 suele ser algo retorcida y no recomendable. Fíjate que incluso en el código que te propone el enlace, el´parámetro para detectar el paso del cursor (WM_MOUSEMOVE), lo tienen marcado como comentario. !!Algún problema han debido tener!!


Mi consejo:

Si por razones plenamente justificadas has de detectar cuando el Mouse pasa por encima del Combo...utiliza el método descrito...(Eliminando el parámetro comentado), de lo contrario no lo toques.


PD: Como se hace la subclasificación para añadir eventos inexistentes..fíjate en este código.


Código:
 
' Inicia el hook
lpPrevWndProc = SetWindowLong(HWND_EDIT, -4, AddressOf WinProc)
Le indicamos al sistema de mensajes de windows que detecte cuando ocurre 'algo' en el objeto HWND (En nuestro caso el Combo), y que cuando ocurra ejecute el código existente en el puntero establecido por Adressof WinProc, es decir, obligamos al sistema operativo a ejecutar una función de nuestro código (retrollamada o gancho).
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion

Última edición por acalanto fecha: 07-07-2008 a las 21:37:41.
Responder Con Cita