Registriert seit: 16. Mai 2005
620 Beiträge
|
Re: SFX Tool - Setup Programme mit wenigen klicks erstellen
27. Jan 2006, 18:05
Diesen Code verwende ich für Drag & Drop Operationen _ins_ Programmfenster. Vielleicht hilft er dir ja weiter:
Delphi-Quellcode:
type
TMainForm = class(TForm)
...
private
// In private einbinden um WM_DropFiles Messages zu erhalten
procedure WMDropFiles(var Msg: TMessage); message WM_DROPFILES;
...
end;
procedure TMainForm.Create(Sender: TObject);
begin
...
// Enable Drag
DragAcceptFiles(Self.Handle, True);
...
end;
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
...
// Disable Drag
DragAcceptFiles(Self.Handle, False);
...
end;
procedure TMainForm.WMDROPFILES(var Msg: TMessage);
var
aFilename: PChar;
i, iSize, iFileCount: integer;
SL: TStringList;
begin
inherited;
aFilename := '';
iFileCount := DragQueryFile(Msg.wParam, $FFFFFFFF, aFilename, 255);
SL := TStringList.Create;
try
for I := 0 to iFileCount - 1 do
begin
iSize := DragQueryFile(Msg.wParam, i, nil, 0) + 1;
aFilename := StrAlloc(iSize);
DragQueryFile(Msg.wParam, i, aFilename, iSize);
// Add file to list
if FileExists(aFilename) then
SL.Add(aFilename)
else
// if is directory add directly
if DirectoryExists(aFilename) then
//AddDirectory(aFilename); // <- Für eigenes Programm ändern.
StrDispose(aFilename);
end;
// add files in list
if SL.Count > - 1 then
//AddFiles(SL); // <- Für eigenes Programm ändern.
finally
SL.Free;
DragFinish(Msg.wParam);
end;
end;
|
|
Zitat
|