如何做这样的Edit控件,恳请帮忙! ( 积分: 75 )

  • 主题发起人 主题发起人 qylin1
  • 开始时间 开始时间
HideCaret好象只有在获得焦点以后使用有效果
失去焦点以后再获得就会重新出现光标的
enter事件也不行,在这个事件结束后才显示光标,所以你在时间里写HideCaret以后事件又显示光标了
 
看到一个高人的回答,在控件的KeyUp和MouseDown的时候使用,如下,基本上可以了,其他效果就自己控制了
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
HideCaret(Edit1.Handle);
end;

procedure TForm1.Edit1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
HideCaret(Edit1.Handle);
end;
 
不行啊 -_-! 这招我早想过了

如果是通过TAB来移动焦点的呢? 还是会显示的。。。。。-_-!
 
不会的,只是开始显示一下而已,后来就好了
 
如果只是用TAB移动过来。。。。但是不输入,还是一直在闪。。。。^_^

嘿嘿 看楼主怎么想了
 
自定义一个消息,拦截WM_SETFOCUS,发送自定义消息,在处理消息的过程里面HideCaret(Handle),我已经将这个功能做在自己的控件包了。
 
非常感谢各位的帮忙,我用kinneng的方法完美解决了,谢啦!
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
836
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
681
DelphiTeacher的专栏
D
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部