InitWndClassEx failed , warum ? :(
-
Hey Leute,
ich will nicht jemand sein, der hier spamt ohne Ende ... und ich weiß, dass
so welche Fragen wie :"Könnt ihr meine Fehler finden" Euch bestimmt nerven,
aber irgendwie komm ich gerade nicht weiter.
Ich hab mir gerade eine Funktion gebastelt, in der man seine WNDCLASSEX -
Struktur als Parameter eingeben kann, und die einen diese Klasse dann mit
"Defualt - Werten" ( von mir selbst ausgesucht) belegt:
Leider bekomme ich jetzt die Typische "RegisterClassEx failed" Meldung...
Funktion :
bool InitWndClassEx( WNDCLASSEX *WndClassEx, HINSTANCE hInstance ){ WndClassEx->cbSize = sizeof( WndClassEx ); WndClassEx->style = NULL; WndClassEx->lpfnWndProc = WndProc; WndClassEx->cbClsExtra = NULL; WndClassEx->cbWndExtra = NULL; WndClassEx->hInstance = hInstance; WndClassEx->hIcon = LoadIcon( NULL, IDI_WARNING ); WndClassEx->hCursor = LoadCursor( NULL, IDC_ARROW ); WndClassEx->hbrBackground = (HBRUSH) ( COLOR_BACKGROUND + 1 ); WndClassEx->lpszMenuName = NULL; WndClassEx->lpszClassName = szClassName; //C - STRING WndClassEx->hIconSm = LoadIcon( NULL, IDI_APPLICATION ); if( !RegisterClassEx( WndClassEx ) ){ MessageBox( NULL, "Register Class failed.", "Error", MB_OK ); return false; } return true; }
WndProc :
LRESULT CALLBACK WndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam ){ switch( msg ){ case WM_DESTROY: // Fenster Ende PostQuitMessage(0); break; default : return DefWindowProc( hWnd, msg, wParam, lParam ); }//switch }
FunktionsAufruf und dazugehöriges:
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLine, int iCmdShow ) WNDCLASSEX WndClassEx; WNDCLASSEX WndClassEx2; WNDCLASSEX WndClassEx3; InitWndClassEx( &WndClassEx, hInstance ); InitWndClassEx( &WndClassEx2, hInstance ); InitWndClassEx( &WndClassEx3, hInstance );
Danke schonmal im Voraus
Mfg
jookerxxx
-
jookerxxx schrieb:
WndClassEx->hbrBackground = (HBRUSH) ( COLOR_BACKGROUND + 1 );
Ich weiß nicht, ob das Registrieren deswegen scheitert, aber hier fehlt definitiv etwas wie GetSysColorBrush(..). Somit wäre auch kein Cast nötig.
-
Was sagt denn GetLastError?
http://msdn.microsoft.com/en-us/library/ms679360Bei der Farbe fehlt nichts.
-
Wo ziehst du szClassName her? Du registriert ja nicht mehrfach Klassen mit demselben Namen?