Hallo,
ich habe es hinbekommen die Dateien per Drag&Drop in ein Edit einzufügen.
Delphi-Quellcode:
procedure TMainForm.AppMessage(var Msg: Tmsg; var Handled: Boolean);
const
BufferLength: word = 255;
var
DropPoint: TPoint;
Counts : Integer;
DroppedFilename: string;
FileIndex: Word;
pDroppedFilename: array[0..255] of Char;
begin
if Msg.Message = WM_DROPFILES then
begin
DropPoint := Msg.pt;
else if IsDropPointInside(DropPoint,ed) then
begin
Counts:=DragQueryFile(Msg.WParam, $FFFFFFFF, nil, 255);
for FileIndex := 0 to (Counts - 1) do
begin
DragQueryFile(Msg.WParam, FileIndex, pDroppedFilename, BufferLength);
DroppedFilename := StrPas(pDroppedFilename);
ed.Text := DroppedFilename;
end;
end;
DragFinish(Msg.WParam);
Handled := true;
end;
end;
Nun stellt sich mir die Frage, wie ich es hinbekomme, nur bestimmte Dateiformate zu akzeptieren. Die Msg bekomme ich ja erst, wenn ich den Mauszeiger wieder loslasse. Ich hätte aber gern, dass das Stopzeichen gezeigt wird, wenn ich eine falsche Datei über das Edit ziehe.
Ich hoffe es kann mir einer helfen.
Danke schon mal im Voraus