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是的,但我想刪除插入符號只爲使文本框只讀而不脫字,當我點擊它。 –