|

楼主 |
发表于 2015-12-5 15:12:08
|
显示全部楼层
本帖最后由 JayChen 于 2015-12-5 15:13 编辑
唉╮( ̄▽ ̄")╭。。。。。。没人回,我自顶,我找到了判断CTRL+A的方法,但是这个方法对于SHIFT+B没用,不知道为什么。。在WM_CHAR消息中判断wParam==('A'&VK_CONTROL)即可判断CTRL和A同时按下,代码如下
- switch (message){
- case WM_CHAR:
- if (wParam == ('A' & VK_CONTROL))
- str = L"You had hitted the CTRL+A";
- break;
- case WM_KEYDOWN:
- switch (wParam){
- case VK_UP:
- str = L"You had hitted the UP key";
- break;
- case VK_SHIFT:
- str = L"You had hitted the SHIFT key";
- break;
- case VK_CONTROL:
- str = L"You had hitted the CTRL key";
- break;
- default:
- break;
- }
- InvalidateRect(hWnd, NULL, TRUE);
- break;
- case WM_PAINT:
- hDC = BeginPaint(hWnd, &ps);
- TextOut(hDC, X, Y, str, _tcsclen(str));
- EndPaint(hWnd, &ps);
- break;
- case WM_DESTROY:
- PostQuitMessage(0);
- break;
- default:
- return DefWindowProc(hWnd, message, wParam, lParam);
- break;
- }
复制代码 |
|