Hallo Stefan,
um das Caret in deinem Edit mit HideCaret() zu verstecken musst du den richtigen Augenblick abpassen - OnEnter() ist zu früh, da das Control zu diesem Zeitpunkt noch nicht den Fokus erhalten hat und das Caret noch gar nicht existiert. Da hilft dir eine benutzerdefinierte Nachricht UM_HIDECARET:
Delphi-Quellcode:
const
UM_HIDECARET = WM_USER;
type
TDemoForm =
class(TForm)
Edit: TEdit;
procedure EditEnter(Sender: TObject);
private
procedure UMHideCaret(
var msg: TMessage);
message UM_HIDECARET;
end;
procedure TDemoFrom.UMHideCaret(
var msg: TMessage);
begin
HideCaret(Edit.Handle);
end;
procedure TDemoFrom.EditEnter(Sender: TObject);
begin
PostMessage(
Handle, UM_HIDECARET, 0, 0);
end;
Wegen anderen Komponenten kannst du mal bei den
LMDTools schauen oder bei
Torry.
Freundliche Grüße