Drag&Drop z Label do Edit ?

0

Witam, czy istnieje możliwość (czy to wykonalne) aby przenieść tekst z Label1.Caption za pomocą funkcji Drag&Drop do pola Edit1.Text ?

0
procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
      if ssLeft in Shift then TLabel(Sender).BeginDrag(FALSE);
end;

procedure TForm1.Edit1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
      Accept := Sender <> Source;
end;

procedure TForm1.Edit1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
      TEdit(Sender).Text:=(TLabel(Source).Caption);
end;

procedure TForm1.Label1EndDrag(Sender, Target: TObject; X, Y: Integer);
begin
      if Target = nil then MessageBeep(MB_IconError);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
      Label1.Cursor:=crDrag;
end;
0

Chyba można by się obyć bez pierwszej i ostatniej procki, ustawiając dmAutomatic, i DragCursor w IDE. Poza tym:
TEdit(Sender).Text:=(TLabel(Source).Caption);
nie jest jakimś bardzo wyrafinowanym rozwiązaniem pod względem sprawdzania zgodności typów, dla świętego spokoju dorzucił bym If Source is TLabel ....

Oczywiście jak napisałeś to tylko żeby pokazać jak, to wporzo.

Dorzuciłem swoje 3 grosze żeby później gość nie szukał błędów, jak mu się zachce przenosić z innego edita do tego : )

0

Tylko nie każ mi oddawać potem tych 3 groszy. ;-P
To co napisałeś to też może być.

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