a co chcesz dokładnie zrobić ?
może tak:
w private
procedure WMDROPFILES(var M: TWMDROPFILES); message WM_DROPFILES;
w implementation
procedure TForm1.WMDROPFILES(var M: TWMDROPFILES);
var NumFiles, i : integer;
buffer : array[0..MAX_PATH] of char;
lista: TStrings;
begin
lista:=TStringList.Create;
lista.Clear;
try
NumFiles := DragQueryFile(M.Drop, $FFFFFFFF, nil, 0);
if (NumFiles > 0) then for i := 0 to (NumFiles - 1) do begin
buffer[0] := #0;
DragQueryFile(M.Drop, i, @buffer, SizeOf(buffer));
lista.Add(buffer);
end; // w lista będziemy mieli listę plików najechanych
if(lista.Count > 0) and (FileExists(lista.Strings[0])) then
SynEdit1.LoadFromFile(lista.Strings[0]);
finally
lista.Free;
end;
end;
w oncreate:
DragAcceptFiles(Handle, True);
lub ew. chyba można:
DragAcceptFiles(SynEdit1.Handle, True);
to ogólnie do wszystkich komponentów coś można tak wrzucać a nie miałem nigdy styczności z SynEdit'em więc nie wiem co ma być w miejscu SynEdit1.LoadFromFile - ogólnie funkcja wczytująca plik
(kod skopiowany z jednego unita jakiegoś mojego programiku starego - oryginalnie wzięty chyba z tego forum ale niestety źródła nie znam :( i lekko przerobiony, nie chce mi się sprawdzać ale możliwe że do uses trzeba dodać ShlObj)