IDataObject - interface

Just starting out? Need help? Post your questions and find answers here.
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Post by srod »

Code: Select all

Global gOldListProc 

;Subclasses the list icon gadget.  
Procedure listiconcallback(hWnd,uMsg,wParam,lParam) 
  Protected ReturnValue, numfiles, buffer$ 
  Select uMsg 
    Case #WM_DROPFILES 
      *dropped = wParam 
      numfiles = DragQueryFile_(wParam , -1, 0, 0) 
      For i = 0 To numfiles - 1 
        buffer$=Space(DragQueryFile_(*dropped, i, 0, 0)+1) 
        DragQueryFile_ (*dropped, i, buffer$, Len(buffer$)) 
        AddGadgetItem(1, -1, buffer$) 
      Next 
      DragFinish_(*dropped) 
      ReturnValue = CallWindowProc_(gOldListProc, hWnd, uMsg, wParam, lParam) 
    Default 
      ReturnValue = CallWindowProc_(gOldListProc, hWnd, uMsg, wParam, lParam) 
  EndSelect 
  ProcedureReturn  ReturnValue 
EndProcedure 
  
  
If OpenWindow(0, 0, 0, 300, 300, "Drag 'n' drop",#PB_Window_SystemMenu|#PB_Window_ScreenCentered) And CreateGadgetList(WindowID(0)) 
  ListIconGadget(1, 50,50, 200,200, "Files", 150) 
  DragAcceptFiles_(GadgetID(1), 1) 
  gOldListProc = SetWindowLong_(GadgetID(1), #GWL_WNDPROC, @listiconcallback()) 

  Repeat 
    Select WaitWindowEvent() 
      
      Case #PB_Event_CloseWindow 
      Quit = 1 

    EndSelect 
  Until Quit = 1 
EndIf 
End
I may look like a mule, but I'm not a complete ass.
AND51
Addict
Addict
Posts: 1040
Joined: Sun Oct 15, 2006 8:56 pm
Location: Germany
Contact:

Post by AND51 »

Oh, thank you!! :o
PB 4.30

Code: Select all

onErrorGoto(?Fred)
Post Reply