Thema: Delphi Drag & Drop

Einzelnen Beitrag anzeigen

Pumba

Registriert seit: 28. Jun 2004
32 Beiträge
 
Delphi 2005 Enterprise
 
#1

Drag & Drop

  Alt 26. Jun 2006, 12:04
Hallo

Mein Problem ist folgendes

Im Formular befinden sich
1 Label = Label1
3 Editfelder = Edit1, Edit2 und Edit3
1 Listbox

In der Listbox Stehen Namen die ich mit Drag & Drop in das Jeweilige Edit ablegen möchte
im Label soll der letzte abgelegte Namen stehen
des Weiteren sollten die 3 Editfelder nachdem ein Name von der Listbox im Edit steht
untereinander per Drag & Drop verändert werden können.

könnte mir da jemand bitte auf die Sprünge helfen

vielen dank im Voraus

Delphi-Quellcode:
procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then
  Edit1.BeginDrag(False);
end;

procedure TForm1.Label1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
i : Integer;
NextObject: TComponent;

begin
 if Source is TListBox then
  begin
   for i := 0 to ListBox1.Items.Count - 1 do
    if (ListBox1.ItemIndex > 0) or (ListBox1.ItemIndex = 0) then
      if ListBox1.Selected[i] then
   begin
      NextObject := FindComponent('Edit' + IntToStr(i));
       NextObject.Name := (ListBox1.Items.Strings[i]);

   //Label1.Caption := (Source as TListBox).Items[i];
   end;

  end;

//if Source is TEdit then Label1.Caption := Edit1.Text;

end;

procedure TForm1.Label1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
if (Source is TEdit) or
    (Source is TListBox) then
    Accept := True;

end;

procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then ListBox1.BeginDrag(False);
end;

end.
  Mit Zitat antworten Zitat