ich hab jetzt mal nicht deine Komponenten getestet, aber ich mach sowas meißt nur einfach so:
Delphi-Quellcode:
Procedure TForm1.FormCreate(Sender: TObject);
Begin
Edit1.OnExit(Edit1);
End;
Procedure TForm1.Edit1Enter(Sender: TObject);
Begin
With TEdit(Sender) do Begin
BorderStyle := bsSingle;
Cursor := crDefault;
Color := clWindow;
Left := Left - 3;
ReadOnly := False;
Top := Top - 3;
End;
End;
Procedure TForm1.Edit1Exit(Sender: TObject);
Begin
With TEdit(Sender) do Begin
BorderStyle := bsNone;
Cursor := crArrow;
Color := TForm(Parent).Color;
Left := Left + 3;
ReadOnly := True;
Top := Top + 3;
End;
End;
Praktisch schalte ich nur die Ansicht vom Edit um
und nutze kein zusätzliches Label.
PS: das im OnCreate ist nur dafür da, wenn das Edit zur Design-Zeit als edit sichtbar ist und erst beim Start umgestellt wird
(und die Ereignisse sind für mehrere Edits nutzbar ... muß man diesen dann nur für OnExit und OnEnter zuweisen)
Ein Therapeut entspricht 1024 Gigapeut.