Cursor parpadea

Cursor parpadea

Postby antolin » Thu May 02, 2024 6: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: Select all  Expand view  RUN

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
antolin
 
Posts: 498
Joined: Thu May 10, 2007 8:30 pm
Location: Sevilla

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 40 guests