In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Saber se o mouse está ou não SOBRE o componente

Foro público de Xailer en español
Responder
Sommus
Mensajes: 310
Registrado: Vie Jul 24, 2009 9:39 pm

Saber se o mouse está ou não SOBRE o componente

Mensaje por Sommus »

Prezados,
Como posso saber se o mouse está ou não sobre um determinado componente (no
meu caso o componente TPanel)... Tentei usando o evento "onmousemove" até
funciona, mas, somente executa se o mouse está sobre, mas, preciso saber
também se não está sobre o componente...
Obrigado pela atenção,
Reginaldo
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Saber se o mouse está ou não SOBRE o componente

Mensaje por jlalin »

Reginaldo,
hazlo así­:
CLASS TPanel FROM XPanel
RESERVED:
METHOD WMMouseMove( nWParam, nLParam )
METHOD WMMouseLeave( nWParam, nLParam )
ENDCLASS
METHOD WMMouseMove( nWParam, nLParam ) CLASS TPanel
LogDebug( "Estamos dentro" )
/* Esta funcion hace que al salir el puntero del
ratón del área del panel se dispare WMMouseLeave()
*/
TrackMouseEvent( ::Handle, TME_LEAVE )
RETURN Super:WMMouseMove( nWParam, nLParam )
METHOD WMMouseLeave( nWParam, nLParam ) CLASS TPanel
LogDebug( "Y ahora fuera" )
RETURN Nil
Saludos,
José Lalí­n
Sommus
Mensajes: 310
Registrado: Vie Jul 24, 2009 9:39 pm

Saber se o mouse está ou não SOBRE o componente

Mensaje por Sommus »

Caro José Lalí­n,
Vou testar sua solução e posto o resultado...
Obrigado pela atenção,
Reginaldo
"José Lalí­n" <dezac@corevia.com> escreveu na notí­cia da
mensagem:4e57ea92$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Reginaldo,
>
> hazlo así­:
>
> CLASS TPanel FROM XPanel
>
> RESERVED:
> METHOD WMMouseMove( nWParam, nLParam )
> METHOD WMMouseLeave( nWParam, nLParam )
>
> ENDCLASS
>
> METHOD WMMouseMove( nWParam, nLParam ) CLASS TPanel
>
> LogDebug( "Estamos dentro" )
> /* Esta funcion hace que al salir el puntero del
> ratón del área del panel se dispare WMMouseLeave()
> */
> TrackMouseEvent( ::Handle, TME_LEAVE )
>
> RETURN Super:WMMouseMove( nWParam, nLParam )
>
> METHOD WMMouseLeave( nWParam, nLParam ) CLASS TPanel
>
> LogDebug( "Y ahora fuera" )
>
> RETURN Nil
>
>
> Saludos,
> José Lalí­n
>
Sommus
Mensajes: 310
Registrado: Vie Jul 24, 2009 9:39 pm

Saber se o mouse está ou não SOBRE o componente

Mensaje por Sommus »

Caro José Lalí­n,
Obrigado mais uma vez. Funcionou perfeitamente...
Só tive que adicionar o evento "onMouseLeave"...
Obrigado
Reginaldo
"José Lalí­n" <dezac@corevia.com> escreveu na notí­cia da
mensagem:4e57ea92$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Reginaldo,
>
> hazlo así­:
>
> CLASS TPanel FROM XPanel
>
> RESERVED:
> METHOD WMMouseMove( nWParam, nLParam )
> METHOD WMMouseLeave( nWParam, nLParam )
>
> ENDCLASS
>
> METHOD WMMouseMove( nWParam, nLParam ) CLASS TPanel
>
> LogDebug( "Estamos dentro" )
> /* Esta funcion hace que al salir el puntero del
> ratón del área del panel se dispare WMMouseLeave()
> */
> TrackMouseEvent( ::Handle, TME_LEAVE )
>
> RETURN Super:WMMouseMove( nWParam, nLParam )
>
> METHOD WMMouseLeave( nWParam, nLParam ) CLASS TPanel
>
> LogDebug( "Y ahora fuera" )
>
> RETURN Nil
>
>
> Saludos,
> José Lalí­n
>
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Saber se o mouse está ou não SOBRE o componente

Mensaje por jlalin »

Reginaldo,
> Obrigado mais uma vez. Funcionou perfeitamente...
> Só tive que adicionar o evento "onMouseLeave"...
Un placer :-D
Saludos,
José Lalí­n
Responder