Ok ... è già decisamente più chiaro. Stiamo quindi parlando di programmazione Win32.Originariamente inviato da mamo139
i messaggi (vedi anche ciclo dei messaggi)
nella programmazione win32 a finistre da quel che ho capito sono degli input che puoi dare al programma...codice:while(GetMessage(&Msg, NULL, 0, 0) > 0) { TranslateMessage(&Msg); DispatchMessage(&Msg); }
la guida mi fa degli esempi
#define WM_INITDIALOG 0x0110
#define WM_COMMAND 0x0111
#define WM_LBUTTONDOWN 0x0201
io vorrei però avere una lista completa di anche tutti i tasti...
spero di essere stato chiaro questa volta...
grazie ciao![]()
Quelli che tu chiami "input da dare al programma", sono dei messaggi. In Win32 ogni thread ha la sua coda dei messaggi e tutta l'interfaccia utente (GUI) è gestita "ad eventi". Ogni messaggio ricevuto viene traslato con TranslateMessage (per quanto riguarda i virtual-key code) e poi "dispacciato" con DispatchMessage alla corretta window-procedure.
All'interno della struttura MSG è contenuto il campo 'message' che contiene appunto il messaggio come quelli che hai indicato (WM_INITDIALOG, ecc....).
I messaggi che credo ti possano interessare (per la gestione della tastiera, intendo) sono WM_KEYDOWN e WM_KEYUP. Per questi messaggi il parametro WPARAM contiene un codice che si chiama virtual-key code. L'elenco di questi codici lo trovi <qui>.
Poi comunque non so cosa devi fare di preciso. Sappi solo che se vuoi fare qualche gestione di questi messaggi non la devi fare in quel loop dei messaggi ma all'interno di una window-procedure.
![]()