Как обнаружить колесо прокрутки вниз на Windows C ++? - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь обнаружить события прокрутки в c ++ в Windows, но возникают проблемы.

Я пробовал различные способы обнаружения событий колесика мыши в wParam, используя GET_WHEEL_DELTA_WPARAM, HIWORD и GET_KEYSTATE_WPARAM (что дало мне синтаксическую ошибку).Не уверен, что попробовать здесь.Я предполагаю, что я использую соответствующие методы неправильно, или я не готовлю их правильно.

int isScrollDown() {
    WPARAM wParam;
    GET_WHEEL_DELTA_WPARAM(wParam);
    std::cout << wParam << std::endl;
}

//inside main()
while(1) {
    if(isScrollDown()) {
        //do something
        break;
    }
    sleep(50);
}

Он печатает 6422352 независимо от того, что я делаю с моей мышью или нет.

1 Ответ

0 голосов
/ 27 января 2019

Обрабатывать WM_MOUSEWHEEL сообщение в LRESULT CALLBACK WindowProc ( В HWND hwnd, В UINT uMsg, В WPARAM wParam, In LPARAM lParam); обратный вызов.

Затем используйте макрос GET_WHEEL_DELTA_WPARAM на wParam, положительное значение указывает, что колесо повернуто от пользователя (вверх), а отрицательное указывает на вращение к пользователю (вниз)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...