我想从Delphi中的TEdit控件中删除插入符号。我已经制作了组件Enabled := False
但是插入符号仍然出现。
我的问题是如何从禁用的TEdit控件中删除插入符号?
答案 0 :(得分:7)
我认为你的意思是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;
答案 1 :(得分:0)
在表单上放置TApplicationEvents
控件并在OnIdle
事件中隐藏插入符号,如下所示。将事件设置为nil,因此它只会触发一次。
procedure TFormMain.AppEventsIdle(Sender: TObject; var Done: Boolean);
begin
AppEvents.OnIdle := nil;
HideCaret(Memo1.Handle);
end;