OpenFileRequester() at any Size & Position [Windows]

Share your advanced PureBasic knowledge/code with the community.
RASHAD
PureBasic Expert
PureBasic Expert
Posts: 4663
Joined: Sun Apr 12, 2009 6:27 am

OpenFileRequester() at any Size & Position [Windows]

Post 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)

Egypt my love
User avatar
Kwai chang caine
Always Here
Always Here
Posts: 5353
Joined: Sun Nov 05, 2006 11:42 pm
Location: Lyon - France

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

Post by Kwai chang caine »

Again a great powerfull code of the great powerfull RASHAD :D
Thanks for sharing 8)
ImageThe happiness is a road...
Not a destination
Post Reply