Witam, czy istnieje możliwość (czy to wykonalne) aby przenieść tekst z Label1.Caption za pomocą funkcji Drag&Drop do pola Edit1.Text ?
0
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ć.