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