Página 1 de 1
Saber se o mouse está ou não SOBRE o componente
Publicado: Vie Ago 26, 2011 7:45 pm
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
Saber se o mouse está ou não SOBRE o componente
Publicado: Vie Ago 26, 2011 8:49 pm
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
Saber se o mouse está ou não SOBRE o componente
Publicado: Vie Ago 26, 2011 9:26 pm
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
>
Saber se o mouse está ou não SOBRE o componente
Publicado: Sab Ago 27, 2011 4:48 pm
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
>
Saber se o mouse está ou não SOBRE o componente
Publicado: Sab Ago 27, 2011 6:19 pm
por jlalin
Reginaldo,
> Obrigado mais uma vez. Funcionou perfeitamente...
> Só tive que adicionar o evento "onMouseLeave"...
Un placer

Saludos,
José Lalín