CreateWindowEx

Prototypes

HWND CreateWindowEx(DWORD StyleEtendu, LPCTSTR NomClasse, LPCTSTR Titre, DWORD Style, int X, int Y, int Largeur, int Hauteur, HWND HandleFenetreParent, HMENU HandleMenu, HINSTANCE HandleInstance, LPVOID Inutile);

Description

Crée une nouvelle fenêtre ayant les caractéristiques suivantes : Le résultat est le handle identifiant la fenêtre créée.

Exemple

#include <windows.h>
#include <winbase.h>

HINSTANCE HandleInstance;
WNDCLASS MaClasse;
HWND HandleFenetre;
MSG Message;

static LRESULT CALLBACK WindowProcedure(HWND HandleFenetre, UINT Message, WPARAM wParam, LPARAM lParam)
{
switch (Msg) return(DefWindowProc(HandleFenetre, Message, wParam, lParam));
}

MaClasse.style=CS_HREDRAW|CS_VREDRAW;
MaClasse.lpfnWndProc=WindowProcedure;
MaClasse.cbClsExtra=0;
MaClasse.cbWndExtra=0;
MaClasse.hInstance=(HINSTANCE)HandleInstance;
MaClasse.hIcon=0;
MaClasse.hCursor=LoadCursor(0, IDC_ARROW);
MaClasse.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
MaClasse.lpszMenuName=NULL;
MaClasse.lpszClassName="MaClasse";
if (!RegisterClass(&Classe)) ...
HandleFenetre=CreateWindowEx(0, "MaClasse", "Ma fenêtre", WS_OVERLAPPEDWINDOW|WS_CLIPCHILDREN|WS_HSCROLL|WS_VSCROLL|WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, (HWND)NULL, (HMENU)NULL, HandleInstance, NULL);
if (!HandleFenetre) ...
while (PeekMessage(&Message, NULL, 0, 0, PM_REMOVE)) ...
UnregisterClass("MaClasse", HandleInstance);
...

Avertissement

Le résultat est NULL en cas d'erreur.

Voir aussi

RegisterClass pour créer une classe de fenêtres. UnregisterClass pour supprimer une classe de fenêtres.
DefWindowProc pour exécuter le traitement par défaut des messages reçus.
PeekMessage pour prélever le message suivant. TranslateMessage pour traduire les raccourcis clavier. DispatchMessage pour envoyer le message à la fenêtre désignée.
LoadCursor pour charger un curseur. GetStockObject pour charger une ressource du référentiel Windows.
DestroyWindow détruire une fenêtre.