Einzelnen Beitrag anzeigen

Maja Jessica

Registriert seit: 16. Apr 2005
Ort: Dortmund
95 Beiträge
 
Delphi 4 Standard
 
#1

Drag'n Drop aus beliebigen anderen Formular

  Alt 19. Okt 2006, 13:16
Hallo

ich versuche mich gerade an Drag'n Drop, welches, durch die die Suche in diesem Forum, soweit auch schon im Groben funktioniert.
Jetzt möchte ich aber aus einem anderen beliebigen Formular "ziehen" und im Hauptformular "ablegen".

Ich habe Form1 und Form2, jeweils mit einer ListBox. Aus Form2.ListBox1 kann ich ein Item auf Form1.ListBox1 verschieben.
Jetzt möchte ich aber nicht nur von Form2.ListBox1 nach Form1.ListBox1 ziehen sondern aus einer x-beliebigen Form.ListBox nach Form1.ListBox. Dabei klemmt es bei mir mit der Schreibweise, wie ich der DragDropRoutine der Form1 verkünde, woher, also von welcher Form/ListBox, das Item kommt.

Hier mein Ansatz, mit der 'statischen' Einbindung von Form1/Form2-ListBox.

Delphi-Quellcode:
procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  if Source is TListBox then
    Accept := True;
  else
    Accept := False
end;

procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  ListBox1.Items.Add(Form2.ListBox1.Items[Form2.ListBox1.itemindex]);
  Form2.ListBox1.Items.Delete(Form2.ListBox1.itemindex);
end;
Hm, aus der 'Source' kann ich erkennen von welchen Objekt das Drag ausging ...
Woher weis ich aber von welchen Formular? Sender?

Hat jemand eine Idee?

Danke und Gruß, MJ
  Mit Zitat antworten Zitat