Regestrierung der wndclass schlägt fehl



  • Hallo zusammen.
    Ich bin dabei, C-Code in Klasssen zu packen.
    Es läuft auch so weit, allerdings will sich die wndclass nicht mehr registrieren lassen, worauf das Programm false zurück gibt. Hier die wndclass:

    WNDCLASS wndclass;
        MSG      msg;
    
        // Define the window class
        wndclass.style         = 0;
        wndclass.lpfnWndProc   = (WNDPROC)MainWndProc;
        wndclass.cbClsExtra    = 0;
        wndclass.cbWndExtra    = 0;
        wndclass.hInstance     = hInstance;
        wndclass.hIcon         = LoadIcon(hInstance, CtoL("A"));
        wndclass.hCursor       = LoadCursor(NULL,IDC_ARROW);
        wndclass.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
        wndclass.lpszMenuName  = CtoL("A");
        wndclass.lpszClassName = CtoL("A");
    
        // Register the window class
        if (!RegisterClass(&wndclass)) return FALSE;
    

    Und nach dieser Abfrage wird das Programm beendet, da die Registrierung fehl schlug.
    Anmerkung:
    - CtoL konvertiert den Namen in einen LPCWSTR

    Ich wäre froh über jede Hilfe :),
    Sunny10



  • Du solltest nachsehen, ob du auch wirklich die Unicode-Variante dieser Funktion benutzt. Macht man Unicode-Strings nicht eher so: L"A"



  • Dazu ist noch zu sagen, dass es in der C variante geklappt hat.
    Ich habe nur den Code in klassen gesteckt, dann schlug die Registrierung fehl.



  • Welche Gründe kann es denn haben, dass die Registrierung nicht klappt? Ganz allgemein


  • Mod

    Das einfacxhste ist es whl das OSzu fragen was schief gelaufen ist: GetLastError.

    Sonstige Gründe:
    Flasche Zeiger, falsche Handles, Klasse schon da...

    Ansonsten Doku lesen.


Anmelden zum Antworten