LOOP remains active after closing via Task Bar cure
#2
You could also test DC (example below shows) and CLICK returns 2 for double clicks. As for text windows, subclassing is a way (works with Graphic Windows too)
Code:
FUNCTION PBMAIN () AS LONG
  LOCAL hWin, ClickState, PosX, PosY AS LONG

  GRAPHIC WINDOW NEW "Click test" , 400 , 200 , 300 , 200 TO hWin
  GRAPHIC ATTACH hWin, 0

  DO WHILE GRAPHIC(DC)
     GRAPHIC WINDOW CLICK TO ClickState, PosX, PosY
     SELECT CASE ClickState
     CASE 1 : GRAPHIC CELL = 2,2 : GRAPHIC PRINT "Single Click " ; ClickState; PosX; PosY; "  "
     CASE 2 : GRAPHIC CELL = 2,2 : GRAPHIC PRINT "Double Click " ; ClickState; PosX; PosY; "  "
     END SELECT
     SLEEP 1
  LOOP

  GRAPHIC WINDOW END

END FUNCTION

Text Window Subclassing:
Code:
#COMPILE EXE
#DIM ALL
#IF %DEF(%PB_CC32)  ' if to compile with PBCC, turn off console
  #CONSOLE OFF
#ENDIF
%UNICODE = 1
#INCLUDE "WIN32API.INC"
GLOBAL oldProc AS DWORD

'====================================================================
FUNCTION PBMAIN () AS LONG
  LOCAL hTWin AS LONG

  TXT.WINDOW ("Click test", 100, 200, 15, 50) TO hTWin
  oldProc = SetWindowLong(hTWin, %GWL_WNDPROC, CODEPTR(SubClassProc))

  TXT.COLOR = %BLUE
  TXT.CELL = 1, 2: TXT.PRINT "Click or double-click anywhere in this window"
  TXT.CELL = 3, 2: TXT.PRINT "Press the Any-key to exit."
  TXT.WAITKEY$

  IF oldProc THEN  ' remove subclassing before exit
      SetWindowLong hTWin, %GWL_WNDPROC, oldProc
  END IF
  TXT.END
END FUNCTION '

'====================================================================
FUNCTION SubClassProc(BYVAL hWnd AS DWORD, BYVAL wMsg AS DWORD, _
                      BYVAL wParam AS DWORD, BYVAL lParam AS LONG) AS LONG
  SELECT CASE AS LONG wMsg
  CASE %WM_LBUTTONDOWN   : TXT.CELL = 6, 2: TXT.PRINT "Single Click."
  CASE %WM_LBUTTONDBLCLK : TXT.CELL = 6, 2: TXT.PRINT "Double Click."
  END SELECT

  FUNCTION = CallWindowProc(oldProc, hWnd, wMsg, wParam, lParam)

END FUNCTION
Reply


Messages In This Thread
RE: LOOP remains active after closing via Task Bar cure - by Borje Hagsten - Yesterday, 09:07

Forum Jump:


Users browsing this thread: 1 Guest(s)