3
我想从德尔福的TEdit控件中删除插入符号。我制作了组件Enabled := False
,但仍然出现插入符号。 我的问题是如何从禁用的TEdit控件中删除插入符号?如何在德尔福TEdit中隐藏脱字符号?
我想从德尔福的TEdit控件中删除插入符号。我制作了组件Enabled := False
,但仍然出现插入符号。 我的问题是如何从禁用的TEdit控件中删除插入符号?如何在德尔福TEdit中隐藏脱字符号?
我假定你的意思是TEdit
控制。
解决方案是HideCaret
函数,唯一的问题是在哪里调用它。下面的2个事件处理的工作对我罚款:
procedure TForm18.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
HideCaret(Edit1.Handle);
end;
procedure TForm18.Edit1MouseEnter(Sender: TObject);
begin
HideCaret(Edit1.Handle);
end;
放置一个TApplicationEvents
控制的形式,并在OnIdle
事件,隐藏插入符,如下所示。将事件设置为零,因此它只触发一次。
procedure TFormMain.AppEventsIdle(Sender: TObject; var Done: Boolean);
begin
AppEvents.OnIdle := nil;
HideCaret(Memo1.Handle);
end;
谢谢。我发现了另一个解决这个问题的方法。我只是将ReadOnly设置为True。 –
@Jordan尽管没有,但还是做了其他的事情。 –
@DavidHeffernan是的,但我想删除插入符号只为使文本框只读而不脱字,当我点击它。 –