Página 1 de 1

Bucle en oBrowse

Publicado: Mar Abr 17, 2018 1:15 pm
por XeviCOMAS
Resulta que estoy intentando poner un Tooltip en un Browse, dependiendo de donde esté situado el cursor, que muestre un texto u otro, y me he dado cuenta que, si bien funciona y cambia el text del Toltip, este "parpadea" y el evento OnMouseMove del Browse entra en un bucle.

Así pues, cogiendo el Sample de Xailer BrwEdit, en el primer Browse "oArrayBrowse1" y añadiendo el evento OnMouseMove...

METHOD ArrayBrowse1MouseMove( oSender, nKeyFlags, nPosX, nPosY ) CLASS TForm1

::oArrayBrowse1:cTooltip := "PRUEBA " + Str(nPosX)
LogDebug( nPosX, nPosY )

RETURN Nil


este tooltip se muestra parpadeante y la ventanita del logdebug no para de mostrar el mismo valor sin que se mueva el mouse de lugar.

Re: Bucle en oBrowse

Publicado: Mar Abr 17, 2018 5:30 pm
por ignacio
Buenas tardes,

Seguramente sea el propio Windows el que esté enviando ese mensaje para forzar algún refresco. No obstante es muy sencillo su 'workaround':

Código: Seleccionar todo

METHOD ArrayBrowse1MouseMove( oSender, nKeyFlags, nPosX, nPosY ) CLASS TForm1

   STATIC sPosX := 0, sPosY := 0

   IF nPosX != sPosX .OR. nPosY != sPosY
      ::oArrayBrowse1:cTooltip := "PRUEBA " + Str(nPosX)
   ENDIF

RETURN Nil
Saludos

Re: Bucle en oBrowse

Publicado: Mar Abr 17, 2018 5:38 pm
por XeviCOMAS
Ignacio,

lo siento, pero acabo de probarlo en el Sample de Xailer BrwEdit... y sigue sin funcionar.

parpadea constantemente sin mover el raton y nunca desaparece el Tooltip.

Re: Bucle en oBrowse

Publicado: Mar Abr 17, 2018 6:08 pm
por ignacio
XeviCOMAS escribió:Ignacio,

lo siento, pero acabo de probarlo en el Sample de Xailer BrwEdit... y sigue sin funcionar.

parpadea constantemente sin mover el raton y nunca desaparece el Tooltip.
Se me olvido lo más obvio de todo (dentro del IF):

Código: Seleccionar todo

      sPosX := nPosX
      sPosY := nPosY
Saludos

Re: Bucle en oBrowse

Publicado: Mar Abr 17, 2018 6:11 pm
por XeviCOMAS
Cooooorrecto!!!

No me havia dado cuenta!!!


Gracias.