您的位置:首页 > 其它

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

2016-03-15 22:55 369 查看
每个windows客户端都有自己的一些快捷键,有的是windows系统提供的。

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

ESC按键

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

我们也这样处理:

[code]if (uMsg == WM_KEYDOWN ) {

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

    }


Shift+Enter

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

[code]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状态。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: