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.