FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Cursor parpadea
Posts: 498
Joined: Thu May 10, 2007 08:30 PM
Cursor parpadea
Posted: Thu May 02, 2024 06:01 PM
Buenas a todos. Hacía mucho tiempo que no entraba en el foro.

Tengo un problemilla con un cursor.
En un programilla que estoy desarrollando, en algunos dialogos quiero que cuando pinche sobre cierta zona superior el cursor cambie a uno propio. Lo hago llamando a ::bMMoved y funciona. Pero parpadea. Alterna de flecha a mi cursor una y otra vez y no hay manera de que realice un recorrido limpio. Alguna solución

Esta es mi función:
Code (fw): Select all Collapse
FUNCTION MovWin(oDW,aCur,nLimit,nVLmit)
   LOCAL aXY   := GetCursorPos()
   LOCAL aPun  := GetWndRect(oDW:hWnd)
   LOCAL aBMov := oDW:bMMoved

   DEFAULT nLimit := oDW:nHeight, ;
       nVLmit := oDW:nWidth

   aXY[1] -= aPun[1]
   aXY[2] -= aPun[2]
   IF aXY[1] > nLimit .OR. aXY[2] > nVLmit
      RETURN NIL
   ENDIF
   *
   oDW:bMMoved := { || SetCursor( aCur[2] ) }
   DO WHILE GetKeyState( VK_LBUTTON )
      aPun := GetCursorPos()
      MoveWindow( oDW:hWnd, aPun[1]-aXY[1], aPun[2]-aXY[2],,, .F. )
      SysRefresh()
   ENDDO
   oDW:bMMoved := aBMov
RETURN .T.
Peaaaaaso de foro...

FWH 2007 - xHarbour - BCC55

Continue the discussion