[OpenGL] Problema

di il
1 risposte

[OpenGL] Problema

Nella funzione WndProc() ho messo:
LRESULT CALLBACK WndProc(HWND hWnd /* Handle */, UINT uMsg /* Messaggi */, WPARAM wParam, LPARAM lParam /* Parametri in più */) { // Questa funzione è richiamata dal programma.
    switch (uMsg) { // uMsg è il messaggio che contiene ciò che dovremo fare.
        case WM_ACTIVATE: { // Se uMsg == WM_ACTIVATE vedremo se la finestra è attiva ...
			if (!HIWORD(wParam)) { // Se la finestra non è disattiva
				active = TRUE; // La finestra è attiva
			} else { // altrimenti ...
				active = FALSE; // La finestra non è attiva
			}
			return 0; // Esce da questa funzione
		}
		case WM_SYSCOMMAND: { // Se uMsg == WM_SYSCOMMAND ...
            switch (wParam) {
                case SC_SCREENSAVE: // Se sta partendo uno ScreenSaver
                case SC_MONITORPOWER: // Se si sta provando ad entrare nella modalità Power Saving
                return 0; // Evitiamo questi due eventi
            }
            break; // Esce dallo switch
		}
		case WM_CLOSE: { // Se viene premuta la crocetta ...
            PostQuitMessage(0); // Serve per postare un messaggio
            return 0; // Esce da questa funzione
		}
		case WM_KEYDOWN: { // Se è stato premuto un tasto ...
            keys[wParam] = TRUE; // wParam è il tasto premuto. Ad esempio 's'. keys[wParam] viene impostato a TRUE, quindi può essere usato per un comando nel gioco...
			return 0;
		}
		case WM_KEYUP: { // Se è stato rilasciato un tasto ...
            keys[wParam] = FALSE; // Ovviamente deve ritornare FALSE quando viene rilasciato, altrimenti si bloccherebbe il programma
            return 0;
		}
        case WM_SIZE: { // Se la finestra sta per essere ridimensionata ...
            ReSizeGLScene(LOWORD(lParam),HIWORD(lParam)); // Richiamiamo la funzione che ci permette di cambiare la dimensione della finestra. lParam sono le grandezze
            return 0;
        }
    }
    return DefWindowProc(hWnd,uMsg,wParam,lParam); // I parametri non utilizzati verranno dati a questa funzione
}
Ma alcuni tasti se li premo il programma rallenta. Come posso risolvere?

Grazie per le risposte.

1 Risposte

  • Re: [OpenGL] Problema

    Ok, ho trovato l'errore, non era in questa funzione, comunque ho risolto!
Devi accedere o registrarti per scrivere nel forum
1 risposte