Drag & Drop poza formą

0

Witam!

Szukałem, szukałem i nie znalazłem odpowiedzi na moje zapytanie. Otóż czy jest jakiś sposób żeby obsłużyć takie zdarzenie: gdy ktoś przeciągnie jakiś element i upuści go poza formą (nieważne gdzie - mnie zależy tylko na tym żeby wykryć, że takie zdarzenie miało miejsce i zdobyć nazwę źródła z którego został przeciągnięty element).

Pozdrawiam
Michał

0

Podczas drag n drop są wysyłane komunikaty. Z tego, co się orientuję, wystarczy je obsłużyć tylko. Gdzieś tu w serwisie jest przykład jak przeciągnąć plik na formularz i po upuszczeniu go otrzymać jego nazwę w edicie. Czytnij sobie to.

0

Tak, tylko że mnie chodzi o to że plik nie jest przeciągany na mój formularz, tylko poza niego. A takiego przypadku niestety ten artykuł nie obejmuje.

Mimo wszystko dziękuję za odzew i nadal czekam na odpowiedź na moje pytanie.

Pozdrawiam
Michał

0
mike87 napisał(a)

Tak, tylko że mnie chodzi o to że plik nie jest przeciągany na mój formularz, tylko poza niego. A takiego przypadku niestety ten artykuł nie obejmuje.

Pozdrawiam
Michał

Przecież z tego, co się orientuje to komunikat jest wysyłany do systemu. Wystarczy go przechwycić

0

Witam!

Udało mi się wymyślić jak to zrobić chyba najłatwiejszym sposobem.

Zainteresowanym podaję kod:

procedure TForm1.Image1EndDrag(Sender, Target: TObject; X, Y: Integer);
var punkt:tpoint;
kwadrat:trect;
begin
kwadrat:=rect(form1.Left,form1.Top,form1.Left+form1.Width,form1.top+form1.Height);
getcursorpos(punkt);
if not PtInRect(kwadrat, punkt) then
    ShowMessage('Upuszczenie poza formą');
end;

Pozdrawiam
Michał

1 użytkowników online, w tym zalogowanych: 0, gości: 1