Einzelnen Beitrag anzeigen

Thorben86

Registriert seit: 20. Nov 2003
Ort: Brühl
365 Beiträge
 
Delphi 2005 Personal
 
#1

TImage drag drop klappt nur aus dem Explorer, nicht mit FF

  Alt 5. Dez 2008, 02:01
Ich Möchte gerne aus dem Firefox-Browser Bilder in ein TImage ziehen. Bilder aus dem Explorer kann ich über das Panel drauf ziehen, bei Bildern aus Firefox oder Outlook bekomme ich allerdings keinen Drag-Courser angezeigt.

Delphi-Quellcode:
type
  TForm2 = class(TForm)
    Panel1: TPanel;
    Image1: TImage;
    procedure FormCreate(Sender: TObject);
  private
      originalPanelWindowProc : TWndMethod;
      procedure PanelWindowProc (var Msg : TMessage) ;
      procedure PanelImageDrop (var Msg : TWMDROPFILES) ;
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

uses ShellApi;

procedure TForm2.FormCreate(Sender: TObject);
begin
 originalPanelWindowProc := Panel1.WindowProc;
 Panel1.WindowProc := PanelWindowProc;

 DragAcceptFiles(Panel1.Handle,true) ;
end;

procedure TForm2.PanelWindowProc(var Msg: TMessage) ;
begin
   if Msg.Msg = WM_DROPFILES then
     PanelImageDrop(TWMDROPFILES(Msg))
   else
     originalPanelWindowProc(Msg) ;
end; (*PanelWindowProc*)

procedure TForm2.PanelImageDrop(var Msg: TWMDROPFILES) ;
var
   numFiles : longInt;
   buffer : array[0..MAX_PATH] of char;
begin
inherited;
   numFiles := DragQueryFile(Msg.Drop, $FFFFFFFF, nil, 0) ;
   if numFiles > 1 then
   begin
     ShowMessage('You can drop only one image file at a time!') ;
   end
   else
   begin
     DragQueryFile(Msg.Drop, 0, @buffer, sizeof(buffer)) ;
     try
       Image1.Picture.LoadFromFile(buffer) ;
     except
       on EInvalidGraphic do ShowMessage('Unsupported image file, or not an image!') ;
     end;
   end;
end; (*PanelImageDrop*)
Den code hab ich über die Suche hier als Newsfeed von delphi.about.com gefunden.

Hoffe mir kann irgendwer weiterhelfen, wie ich da auch Bilder aus dem Firefox 3 reinziehen kann.
  Mit Zitat antworten Zitat