windows客户端开发--使用、屏蔽一些快捷键

来源:互联网 发布:淘宝客服骂人 编辑:程序博客网 时间:2024/06/16 03:25

每个windows客户端都有自己的一些快捷键,有的是windows系统提供的。

今天就要与大家分享一下,在windows客户端开发过程中对按键的处理。

ESC按键
Duilib这个库中,如果不做特殊处理的话,按下ESC会退出程序。这不是我们期望的,我们可以在我们的客户端中屏蔽esc,而微信windows客户端是把ESC按键作为最小化到托盘处理。

我们也这样处理:

if (uMsg == WM_KEYDOWN ) {        if (wParam == VK_ESCAPE)        {            ShowWindow(false);            return 0;        }    }

Shift+Enter
在输入框中,回车一般是发送消息,而通常采用shift+enter的组合键来完成换行。微信windows客户端也是这么做的:

else if (uMsg == WM_KEYDOWN ) {        if (wParam == VK_RETURN)        {            if (::GetKeyState(VK_SHIFT) < 0)             {                   //输入文本中加入\n                return 0;            }            else             {                     //发送                    return 0;                           }        }    }

::GetKeyState(VK_SHIFT) > 0 没按下
::GetKeyState(VK_SHIFT) < 0被按下
返回值给出了给定虚拟键的状态,状态如下:
若高序位为1,则键处于DOWN状态,否则为UP状态。

0 0
原创粉丝点击