+ -
当前位置:首页 → 问答吧 → [win32]请问有没办法让win32只触发1次按下事件和1次弹起事件?而不是3次?

[win32]请问有没办法让win32只触发1次按下事件和1次弹起事件?而不是3次?

时间:2011-11-28

来源:互联网

比如,我按下F1键,然后弹起,win32始终是返回3个事件,依次为:按下、弹起、按下
有什么办法让win32只触发1次按下事件+1次弹起事件,而不是给我触发3次事件??

不管是GetKeyState()还是win32的窗口函数,都是这样,太麻烦了。

作者: weiwuyuan   发布时间: 2011-11-28

测试有误,结贴。

作者: weiwuyuan   发布时间: 2011-11-28

C/C++ code
case WM_KEYDOWN:
                {
                    HDC hdc = GetDC(hWnd);
                    static int i=0;
                    TCHAR buf[10] = {0};
                    _stprintf(buf, _T("%d"), i++);
                    TextOut(hdc, 10, 10, buf, _tcslen(buf));
                    ReleaseDC(hWnd, hdc);
                }
                break;

            case WM_KEYUP:
                {
                    HDC hdc = GetDC(hWnd);
                    static int i=0;
                    TCHAR buf[10] = {0};
                    _stprintf(buf, _T("%d"), i++);
                    TextOut(hdc, 10, 50, buf, _tcslen(buf));
                    ReleaseDC(hWnd, hdc);
                }
                break;

没有问题啊,是你Debug的方式不对吧

作者: VisualEleven   发布时间: 2011-11-28

引用 1 楼 weiwuyuan 的回复:

测试有误,结贴。

作者: coolcoffee4051982   发布时间: 2011-11-28

作者: VisualEleven   发布时间: 2011-11-28