delphi – 如何强制密码编辑器的“Caps Lock is On”气球?

delphi – 如何强制密码编辑器的“Caps Lock is On”气球?,第1张

概述我有一个TEDit,PasswordChar设置为*,如果Caps Lock模式打开,我想要标准的“Caps Lock is On”气球出现.该标准气球仅在编辑器获得焦点或已启用Caps Lock模式时出现,而焦点位于该编辑器中. 我的密码编辑器是应用程序的第一个集中控件.所以,当应用程序以前的Caps Lock模式启动时,在我的密码编辑器失去焦点然后再次聚焦之前,我看不到任何气球.用户有机会在一 我有一个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;
总结

以上是内存溢出为你收集整理的delphi – 如何强制密码编辑器的“Caps Lock is On”气球?全部内容,希望文章能够帮你解决delphi – 如何强制密码编辑器的“Caps Lock is On”气球?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1243178.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存