delphi – 如何强制密码编辑器的“Caps Lock is On”气球?
发布时间:2020-12-15 09:17:25 所属栏目:大数据 来源:网络整理
导读:我有一个TEDit,PasswordChar设置为*,如果Caps Lock模式打开,我想要标准的“Caps Lock is On”气球出现.该标准气球仅在编辑器获得焦点或已启用Caps Lock模式时出现,而焦点位于该编辑器中. 我的密码编辑器是应用程序的第一个集中控件.所以,当应用程序以前的Cap
我有一个TEDit,PasswordChar设置为*,如果Caps Lock模式打开,我想要标准的“Caps Lock is On”气球出现.该标准气球仅在编辑器获得焦点或已启用Caps Lock模式时出现,而焦点位于该编辑器中.
我的密码编辑器是应用程序的第一个集中控件.所以,当应用程序以前的Caps Lock模式启动时,在我的密码编辑器失去焦点然后再次聚焦之前,我看不到任何气球.用户有机会在一半的用例中看不到气球! 我可以在应用程序启动时强制执行“Caps Lock is On”气球而无需切换焦点吗? 解决方法
解决方案是调用WM_KILLFOCUS和WM_SETFOCUS,这将强制编辑器显示“Caps Lock is On”气球:
if GetKeyState(VK_CAPITAL) and 1 <> 0 then begin if edtPassword.Focused then begin PostMessage(edtPassword.Handle,WM_KILLFOCUS,0); PostMessage(edtPassword.Handle,WM_SETFOCUS,0); end; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |