Partager via


STRUCTURE CREATESTRUCTA (winuser.h)

Définit les paramètres d’initialisation passés à la procédure de fenêtre d’une application. Ces membres sont identiques aux paramètres de la fonction CreateWindowEx.

Syntaxe

typedef struct tagCREATESTRUCTA {
  LPVOID    lpCreateParams;
  HINSTANCE hInstance;
  HMENU     hMenu;
  HWND      hwndParent;
  int       cy;
  int       cx;
  int       y;
  int       x;
  LONG      style;
  LPCSTR    lpszName;
  LPCSTR    lpszClass;
  DWORD     dwExStyle;
} CREATESTRUCTA, *LPCREATESTRUCTA;

Membres

lpCreateParams

Type : LPVOID

Contient des données supplémentaires qui peuvent être utilisées pour créer la fenêtre. Si la fenêtre est créée suite à un appel à l'CreateWindow ou fonction CreateWindowEx, ce membre contient la valeur du paramètre lpParam spécifié dans l’appel de fonction.

Si la fenêtre créée est une fenêtre cliente MDI, ce membre contient un pointeur vers une structure CLIENTCREATESTRUCT. Si la fenêtre en cours de création est une fenêtre enfant MDI, ce membre contient un pointeur vers une structure MDICREATESTRUCT.

Si la fenêtre est créée à partir d’un modèle de boîte de dialogue, ce membre est l’adresse d’une valeur short qui spécifie la taille, en octets, des données de création de fenêtre. La valeur est immédiatement suivie des données de création. Pour plus d’informations, consultez la section Remarques suivante.

hInstance

Type : HINSTANCE

Handle du module propriétaire de la nouvelle fenêtre.

hMenu

Type : HMENU

Handle vers le menu à utiliser par la nouvelle fenêtre.

hwndParent

Type : HWND

Handle de la fenêtre parente, si la fenêtre est une fenêtre enfant. Si la fenêtre appartient, ce membre identifie la fenêtre propriétaire. Si la fenêtre n’est pas une fenêtre enfant ou détenue, ce membre est NULL.

cy

Type : int

Hauteur de la nouvelle fenêtre, en pixels.

cx

Type : int

Largeur de la nouvelle fenêtre, en pixels.

y

Type : int

Coordonnée y du coin supérieur gauche de la nouvelle fenêtre. Si la nouvelle fenêtre est une fenêtre enfant, les coordonnées sont relatives à la fenêtre parente. Sinon, les coordonnées sont relatives à l’origine de l’écran.

x

Type : int

Coordonnée x du coin supérieur gauche de la nouvelle fenêtre. Si la nouvelle fenêtre est une fenêtre enfant, les coordonnées sont relatives à la fenêtre parente. Sinon, les coordonnées sont relatives à l’origine de l’écran.

style

Type : long

Style de la nouvelle fenêtre. Pour obtenir la liste des valeurs possibles, consultez Styles de fenêtre.

lpszName

Type : LPCTSTR

Nom de la nouvelle fenêtre.

lpszClass

Type : LPCTSTR

Pointeur vers une chaîne terminée par null ou un atome qui spécifie le nom de classe de la nouvelle fenêtre.

dwExStyle

Type : DWORD

Style de fenêtre étendu pour la nouvelle fenêtre. Pour obtenir la liste des valeurs possibles, consultez styles de fenêtre étendus.

Remarques

Étant donné que le membre lpszClass peut contenir un pointeur vers un atome local (et donc inaccessible), n’obtenez pas le nom de classe à l’aide de ce membre. Utilisez la fonction GetClassName à la place.

Vous devez accéder aux données représentées par le membre lpCreateParams à l’aide d’un pointeur déclaré à l’aide du type UNALIGNED, car le pointeur n’est peut-être pas DWORD aligné. Ceci est illustré dans l’exemple suivant :

typedef struct tagMyData 
{
    // Define creation data here. 
} MYDATA; 
 
typedef struct tagMyDlgData 
{ 
    SHORT   cbExtra; 
    MYDATA  myData; 
} MYDLGDATA, UNALIGNED *PMYDLGDATA; 
 
PMYDLGDATA pMyDlgdata = (PMYDLGDATA) (((LPCREATESTRUCT) lParam)->lpCreateParams);

Note

L’en-tête winuser.h définit CREATESTRUCT comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
d’en-tête winuser.h (include Windows.h)

Voir aussi

À propos de l’interface de document multiple

conceptuelle

CreateWindow

CreateWindowEx

MDICREATESTRUCT

de référence

Windows