Page 1 of 1

OpenFileRequester() at any Size & Position [Windows]

Posted: Tue May 12, 2020 2:53 pm
by RASHAD
Hi
Tested with PB 5.72 x86 - Windows 10 2004 x64

Code: Select all

Global Hook,hWnd,oldProc,x,y,w,h

Procedure ReqProc(hWnd, uMsg, wParam, lParam)
  Select uMsg      
    Case #WM_SIZE,#WM_MOVE,#WM_PAINT
      MoveWindow_(hWnd,x,y,w,h,1)      
      
    Case #WM_NCLBUTTONDOWN
      SetWindowLongPtr_(hWnd, #GWL_WNDPROC,0)    
      
  EndSelect
  ProcedureReturn CallWindowProc_(oldProc, hWnd, uMsg, wParam, lParam)
EndProcedure

Procedure HookCB ( uMsg , wParam , lParam)   
  Select uMsg
    Case #HCBT_ACTIVATE
      hWnd = wParam 
      oldProc = SetWindowLongPtr_(hWnd, #GWL_WNDPROC, @ReqProc())
      UnhookWindowsHookEx_ (Hook)    
        
   EndSelect
   
   ProcedureReturn Result
EndProcedure

x = 100
y = 100
w = 800
h = 600
Hook = SetWindowsHookEx_ ( #WH_CBT, @ HookCB () , 0, GetCurrentThreadId_ ())

Pattern$ = "Text (*.txt)|*.txt;*.bat|PureBasic (*.pb)|*.pb|All files (*.*)|*.*"
Pattern = 0 
File$ = OpenFileRequester("Please choose file to load", StandardFile$, Pattern$, Pattern)


Re: OpenFileRequester() at any Size & Position [Windows]

Posted: Tue Jun 02, 2020 5:25 pm
by Kwai chang caine
Again a great powerfull code of the great powerfull RASHAD :D
Thanks for sharing 8)