Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
// Erstellt das Fenster mit den Einstellungen und holt den Handle m_hwnd = CreateWindowEx(WS_EX_APPWINDOW,m_applicationName,m_applicationName,WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_POPUP,posX,posY,screenWidth,screenHeight,NULL,NULL,m_hinstance,NULL); // Bringt das Fenster in den Vordergrund und setzt es fokussiert. ShowWindow(m_hwnd,SW_SHOW); SetForegroundWindow(m_hwnd); SetFocus(m_hwnd); // Versteckt den Mauszeiger ShowCursor(false); return; |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 |
m_hInstance = GetModuleHandle(NULL); m_pApplicationName = L"Engine"; screenWidth = 800; screenHeight = 600; posX = (GetSystemMetrics(SM_CXSCREEN)-screenWidth) / 2; posY = (GetSystemMetrics(SM_CYSCREEN)-screenHeight) /2; if(!(m_hWnd = CreateWindowEx(WS_EX_APPWINDOW,m_pApplicationName,m_pApplicationName,WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_POPUP,posX,posY,screenWidth,screenHeight,NULL,NULL,m_hInstance,NULL))) { MessageBox(NULL,L"Fenter konnte nicht erstellt werden!",L"Fehler!",MB_OK); // Wird bei Release ausgelöst, bei // Debug nicht } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
if(!(m_hWnd = CreateWindowEx(WS_EX_APPWINDOW,m_pApplicationName,m_pApplicationName,WS_CLIPSIBLINGS|WS_CLIPCHILDREN|WS_POPUP,posX,posY,screenWidth,screenHeight,NULL,NULL,m_hInstance,NULL))) { //MessageBox(NULL,L"Fenter konnte nicht erstellt werden!",L"Fehler!",MB_OK); DWORD err = GetLastError(); LPCWSTR errMsg = NULL; if(FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL,err,0,(LPTSTR)&errMsg,0,NULL)) { MessageBox(NULL,errMsg,L"Fehler",MB_OK); } else { MessageBox(NULL,L"Auslesefehler!",L"Fehler",MB_OK); } } |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »birdfreeyahoo« (14.09.2012, 19:19)
Zitat von »http://msdn.microsoft.com/en-us/library/windows/desktop/ms632680(v=vs.85).aspx«
This function typically fails for one of the following reasons:
[...]
if one of the controls in the dialog template is not registered, or its window window procedure fails WM_CREATE or WM_NCCREATE
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMessage, WPARAM wparam, LPARAM lparam) { switch(uMessage) { case WM_DESTROY: PostQuitMessage(0); return 0; case WM_CLOSE: { PostQuitMessage(0); return 0; } default: { return g_pApplicationHandle->MessageHandler(hWnd,uMessage,wparam,lparam); } } } |
C-/C++-Quelltext |
|
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 |
LRESULT CALLBACK SystemClass::MessageHandler(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam) { switch(umsg) { // Überprüft ob eine Taste gedrückt wurde. case WM_KEYDOWN: { // Wenn eine Taste gedrückt wurde, sende sie zum input-Objekt damit es das aufnehmen kann m_pInput->KeyDown((unsigned int)wparam); return 0; } // Überprüft ob eine Taste losgelassen wurde case WM_KEYUP: { // Wenn eine Taste losgelassen wurde dann sende sie zu dem Input-Objekt sodass es den Status zurücknehmen kann m_pInput->KeyUp((unsigned int)wparam); return 0; } // Alle anderen Nachrichten werden zum default handler weil unsere Anwendung keinen Gebrauch // von ihnen macht default: { DefWindowProc(hwnd,umsg,wparam,lparam); } } } |
Werbeanzeige