TImage drag drop klappt nur aus dem Explorer, nicht mit FF
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:
Den code hab ich über die Suche hier als Newsfeed von delphi.about.com gefunden.
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*) Hoffe mir kann irgendwer weiterhelfen, wie ich da auch Bilder aus dem Firefox 3 reinziehen kann. |
Re: TImage drag drop klappt nur aus dem Explorer, nicht mit
Hi,
bin mir nicht sicher, aber ich glaube, das aus dem IE oder Firefox oder was auch immer, keine Dateien per DragDrop gesendet werden. Somit kann das über DragQueryFile nicht funktionieren. |
Re: TImage drag drop klappt nur aus dem Explorer, nicht mit
Aber ich kann ja z.b. Bilder aus FF oder IE in den Explorer ziehen. Irgendwie müssen die Windows das ja auch klarmachen.
|
Re: TImage drag drop klappt nur aus dem Explorer, nicht mit
Also ich weis jetzt immerhin schon, dass ich das ganze wohl über IDropTarget machen muss. Hab auch schon einige beispiele gefunden, wie ich z.b. nen text in ne listbox ziehe. (URL aus FF in Listbox funktioniert.)
Scheitere jetzt aber noch daran, ein bild in das TImage zu bekommen. Tippe mal, dass da irgendwie mit dem Clipboard Formaten "cf_" zu tun hat. Die TShellDropper Komponente hier aus dem Forum funktioniert aussem FF leider auch nur für Text. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz