【问题标题】:How to force the "Caps Lock is On" balloon for password editor?如何强制密码编辑器的“Caps Lock is On”气球?
【发布时间】:2012-11-07 14:14:18
【问题描述】:

我有一个TEdit,其中PasswordChar 设置为*,如果Caps Lock 模式开启,我希望标准的“Caps Lock 开启”气球出现。该标准气球仅在编辑器获得焦点或打开Caps Lock 模式时出现,而焦点位于该编辑器中。

我的密码编辑器是应用程序的第一个集中控件。因此,当应用程序以Caps Lock 模式以前 启动时,我看不到任何气球,直到我的密码编辑器失去焦点然后再次聚焦。用户有机会在一半的用例中看不到那个气球!

我可以在应用程序启动时强制这个“Caps Lock is On”气球而不切换焦点吗?

【问题讨论】:

    标签: delphi passwords editor delphi-xe balloon


    【解决方案1】:

    解决方法是调用WM_KILLFOCUSWM_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, 0);
          PostMessage(edtPassword.Handle, WM_SETFOCUS, 0, 0);
        end;
      end;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-10
      • 1970-01-01
      • 2023-01-03
      • 2011-06-16
      • 1970-01-01
      • 1970-01-01
      • 2016-12-26
      相关资源
      最近更新 更多