Advertisement
Guest User

Untitled

a guest
May 20th, 2025
22
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.61 KB | None | 0 0
  1. #include <windows.h>
  2. #include <iostream>
  3.  
  4. LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) {
  5.     switch (msg) {
  6.         case WM_POINTERWHEEL: {
  7.             UINT32 pointerId = GET_POINTERID_WPARAM(wParam);
  8.             POINTER_INFO pi;
  9.             if (GetPointerInfo(pointerId, &pi)) {
  10.                 int delta = GET_WHEEL_DELTA_WPARAM(wParam);
  11.                 std::cout << "WM_POINTERWHEEL: delta=" << delta << std::endl;
  12.             }
  13.             break;
  14.         }
  15.  
  16.         case WM_DESTROY:
  17.             PostQuitMessage(0);
  18.             break;
  19.     }
  20.  
  21.     return DefWindowProc(hwnd, msg, wParam, lParam);
  22. }
  23.  
  24. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int nCmdShow) {
  25.     const wchar_t CLASS_NAME[] = L"MyPointerWheelWindowClass";
  26.  
  27.     WNDCLASS wc = {};
  28.     wc.lpfnWndProc = WndProc;
  29.     wc.hInstance = hInstance;
  30.     wc.lpszClassName = CLASS_NAME;
  31.     wc.hCursor = LoadCursor(NULL, IDC_ARROW);
  32.  
  33.     RegisterClass(&wc);
  34.  
  35.     HWND hwnd = CreateWindowEx(
  36.         0,
  37.         CLASS_NAME,
  38.         L"Pointer Wheel Test",
  39.         WS_OVERLAPPEDWINDOW,
  40.         CW_USEDEFAULT, CW_USEDEFAULT, 500, 300,
  41.         NULL, NULL, hInstance, NULL
  42.     );
  43.  
  44.     if (!hwnd) {
  45.         MessageBox(NULL, L"Failed to create window.", L"Error", MB_OK);
  46.         return 0;
  47.     }
  48.  
  49.     ShowWindow(hwnd, nCmdShow);
  50.     UpdateWindow(hwnd);
  51.  
  52.     // Enable pointer input messages (touchpad, stylus, etc.)
  53.     EnableMouseInPointer(TRUE);
  54.  
  55.     MSG msg = {};
  56.     while (GetMessage(&msg, NULL, 0, 0)) {
  57.         TranslateMessage(&msg);
  58.         DispatchMessage(&msg);
  59.     }
  60.  
  61.     return 0;
  62. }
  63.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement