[C++] [WinAPI] [DirectX 11]Okno "przestaje działać" po naciśnięciu jakiegokolwiek przycisku
Ostatnio zmodyfikowano 2015-05-18 18:31
TheReclif Temat założony przez niniejszego użytkownika |
[C++] [WinAPI] [DirectX 11]Okno "przestaje działać" po naciśnięciu jakiegokolwiek przycisku » 2015-05-17 21:56:39 Witam! Mam problem z programem, a konkretnie z kończeniem pracy przez okno. Założenie jest takie, żeby program po naciśnięciu klawisza Escape wyłączał się(tylko tego przycisku). Niestety, ale po naciśnięciu czegokolwiek(oprócz klawiszy myszki)pojawia się komunikat Windows, że "Program przestał działać". Podejrzewam, że skopałem coś z przechwytywaniem klawiszy, więc daję kod: MSG message;
WPARAM getActualKey() { return message.wParam; };
A teraz wykorzystanie w pętli komunikatów: bool done = false; while( !done ) switch( Event ) { case EVENT_TYPE::KeyPressed: switch( TaskMgr->getActualKey() ) { case VK_ESCAPE: done = true; PostQuitMessage( 0 ); break; default: break; } break; }
Jestem w kropce. |
|
darko202 |
» 2015-05-18 10:30:48 |
|
TheReclif Temat założony przez niniejszego użytkownika |
» 2015-05-18 18:31:17 Wielkie dzięki za pomoc. Błąd tkwił gdzie indziej: Jak było: HWND * win = new HWND; void windowClass::deleteWin() { ShowCursor( true ); if( fullscreen ) { ChangeDisplaySettings( NULL, 0 ); } delete win; win = NULL; UnregisterClass( winClassName, GetModuleHandle( NULL ) ); }
Jak zmieniłem(i działa!): HWND * win = new HWND; void windowClass::deleteWin() { ShowCursor( true ); if( fullscreen ) { ChangeDisplaySettings( NULL, 0 ); } DestroyWindow( * win ); delete win; win = NULL; UnregisterClass( winClassName, GetModuleHandle( NULL ) ); }
Zapomniałem niszczyć okna. Temat zamykam. |
|
« 1 » |