Page 1 of 1

Posted: Mon Jan 15, 2007 8:36 pm
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

Posted: Tue Jan 16, 2007 8:45 pm
by AND51
Oh, thank you!! :o