ich habe ein Formular auf das ich via Drag & Drop Dateien ziehen Will. Der hier gezeigte Code Schnipsel funktioniert unter Windows ist aber nicht gerade Schön:
Code: Alles auswählen
Function PointInRect(P: Tpoint; R: TRect): Boolean;
Begin
result := (p.x >= r.Left) And (p.x <= r.Right) And
(p.y >= r.Top) And (p.y <= r.Bottom);
End;
Procedure TForm1.FormDropFiles(Sender: TObject; Const FileNames: Array Of String
);
Var
p: Tpoint;
Begin
p := Mouse.CursorPos;
// Die Konstanten wurden empirisch ermittelt
p.x := p.x - left - 8;
p.y := p.y - Top - (form1.Height - form1.ClientHeight) - 31;
If PointInRect(p, rect(edit4.left, edit4.top, edit4.Left + edit4.Width, edit4.Top + edit4.Height)) Then Begin
Edit4.text := FileNames[0];
End;
If PointInRect(p, rect(edit5.left, edit5.top, edit5.Left + edit5.Width, edit5.Top + edit5.Height)) Then Begin
Edit5.text := FileNames[0];
End;
End;