Bonjour,
Je commence un projet où je dois récupérer les événements touch d'écrans tactiles avec l'API Win32 en C++. Je veux utiliser une fenêtre invisible de type message-only window, mais bien que la fenêtre soit créée et enregistrée correctement elle ne reçoit pas les messages WM_TOUCH. Voici le code de la fonction qui initialise la message-only window et en pièce jointe le main.cpp.
J'ai testé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 HWND InitMessageOnlyWindow(HINSTANCE hInstance, int nCmdShow) { LPWSTR szWindowClassName = TEXT("msgOnly"); WNDCLASSEX windowClass; memset(&windowClass, 0, sizeof(windowClass)); windowClass.cbSize = sizeof(windowClass); windowClass.hInstance = hInstance; windowClass.lpfnWndProc = WndProc; windowClass.lpszClassName = szWindowClassName; if(RegisterClassEx(&windowClass)==0) { std::cerr << "RegisterClass" << std::endl; return 0; } HWND hWindow = CreateWindow( szWindowClassName, L"", 0, 0, 0, 0, 0, HWND_MESSAGE, NULL, hInstance, NULL); if (!hWindow) { std::cerr << "CreateWindow" << std::endl; return 0; } if(RegisterTouchWindow(hWindow, 0)==0) { std::cerr << "RegisterTouchWindow" << std::endl; return 0; } return hWindow; }
- la réception des messages WM_INPUT dans la message-only window, c'est OK.
- la réception des messages WM_TOUCH dans une fenêtre classique, c'est OK.
Merci d'avance à la personne qui pourra me donner une piste pour comprendre ce problème. Je débute avec l'API Win32 et au-delà de tester d'autres paramètres pour les procédures de création et d'enregistrement je ne vois pas comment trouver où ça coince.
Marcus
Partager