La Structure WNDCLASSEX

#include <windows.h>

LRESULT CALLBACK MsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
    return DefWindowProc( hWnd, msg, wParam, lParam );
}

INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR, INT )

{
    // Enregistre la classe de la fenêtre
    WNDCLASSEX wc = {
    sizeof(WNDCLASSEX),
    CS_CLASSDC, MsgProc,
    0L, 0L,
    GetModuleHandle(NULL),
    NULL, NULL, NULL, NULL,
    "SuperBattle", NULL };

    RegisterClassEx( &wc );

    UnregisterClass("Superbattle", wc.hInstance);

   
return 0;
}

Cette structure contient les différentes informations de la fenêtre. Pour modifier les paramètres il convient d'aller dans l'aide, ici j'ai pris les paramètres les plus simples. UnregisterClass permet de libérer la mémoire.

1er paramètre : Taille de la structure
2eme paramètre : Style

On peut avoir : 

CS_BYTEALIGNCLIENT 
CS_BYTEALIGNWINDOW 
CS_CLASSDC
CS_DBLCLKS 
CS_GLOBALCLASS 
CS_HREDRAW 
CS_NOCLOSE
CS_OWNDC
CS_PARENTDC
CS_SAVEBITS
CS_VREDRAW 

On peut combiner ces macros par l'opérateur logique OU |

3eme paramètre : on pointe sur la fonction des messages MssgProc
4eme et 5eme paramètre : correspond au nombre de bites à allouer dans certains cas particulier.
6eme paramètre : On récupère le pointeur de la fonction fenêtre. Ici il s'agit de la fenêtre principale, la fonction GetModuleHandle le récupère.
7eme paramètre : On récupère le pointeur pointant sur l'icône
8eme paramètre : On spécifie le type de curseur
9eme paramètre : Couleur arrière plan

On peut avoir :

COLOR_ACTIVEBORDER
COLOR_ACTIVECAPTION
COLOR_APPWORKSPACE
COLOR_BACKGROUND
COLOR_BTNFACE
COLOR_BTNSHADOW
COLOR_BTNTEXT
COLOR_CAPTIONTEXT
COLOR_GRAYTEXT
COLOR_HIGHLIGHT
COLOR_HIGHLIGHTTEXT
COLOR_INACTIVEBORDER
COLOR_INACTIVECAPTION
COLOR_MENUCOLOR_MENUTEXT
COLOR_SCROLLBAR
COLOR_WINDOW
COLOR_WINDOWFRAME
COLOR_WINDOWTEXT

10eme paramètre : Nom qui paraîtra tout en haut à gauche
11eme paramètre : Voir l'aide

Téléchargez la source, cliquez ci-dessous :