 |
| |
|
|
 |
Autor |
Nachricht |
 |
| |
| Thorben86 |
#1| Verfasst am: 05.12.2008, 02:01 Titel: TImage drag drop klappt nur aus dem Explorer, nicht mit FF |
 |
 |
 |
|
Mitglied Alter: 22 Status: offline Beiträge: 352 angemeldet: 20.11.2003 Wohnort: Brühl Delphi 2005 Personal

|
Sprache: Delphi (Win32) 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: | zusammenfalten | markieren | 1 · · · 5 · · · · 10 · · · · 15 · · · · 20 · · · · 25 · · · · 30 · · · · 35 · · · · 40 · · · · 45 · · · · 50 · · 53
| 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. |
|
 |
|
|
|
| |
| ralfschwalbe |
#2| Verfasst am: 05.12.2008, 07:48 Titel: Re: TImage drag drop klappt nur aus dem Explorer, nicht mit |
 |
 |
 |
|
Mitglied Alter: 37 Status: offline Beiträge: 35 angemeldet: 19.07.2007 Wohnort: Lichtenstein/Sachsen Delphi 2007 Professional

|
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. |
 viele Grüße... |
 |
|
|
|
| |
| Thorben86 |
#3| Verfasst am: 05.12.2008, 13:44 Titel: Re: TImage drag drop klappt nur aus dem Explorer, nicht mit |
 |
 |
 |
|
Mitglied Alter: 22 Status: offline Beiträge: 352 angemeldet: 20.11.2003 Wohnort: Brühl Delphi 2005 Personal

|
Aber ich kann ja z.b. Bilder aus FF oder IE in den Explorer ziehen. Irgendwie müssen die Windows das ja auch klarmachen. |
|
 |
|
|
|
| |
| Thorben86 |
#4| Verfasst am: 06.12.2008, 01:34 Titel: Re: TImage drag drop klappt nur aus dem Explorer, nicht mit |
 |
 |
 |
|
Mitglied Alter: 22 Status: offline Beiträge: 352 angemeldet: 20.11.2003 Wohnort: Brühl Delphi 2005 Personal

|
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. |
Zuletzt bearbeitet von Thorben86 am 06.12.2008, 01:55, insgesamt 1-mal bearbeitet. |
 |
|
|
|
 |
|
 |
| |
|
|
| |
 
|
|
| |
|
Du darfst keine Beiträge in dieses Forum schreiben. Du darfst auf Beiträge in diesem Forum nicht antworten. Du darfst Deine Beiträge in diesem Forum nicht bearbeiten. Du darfst Deine Beiträge in diesem Forum nicht löschen. Du darfst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten. Du kannst Dateien in diesem Forum nicht herunterladen.
|
|
 |