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 à la suite d’un appel à la fonction CreateWindow ou CreateWindowEx , ce membre contient la valeur du paramètre lpParam spécifié dans l’appel de fonction.

Si la fenêtre en cours de création 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 Notes qui suit.

hInstance

Type : HINSTANCE

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

hMenu

Type : HMENU

Handle du 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 est détenue, ce membre identifie la fenêtre propriétaire. Si la fenêtre n’est pas une fenêtre enfant ou détenue, ce membre a la valeur 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 un 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 qui a été déclaré à l’aide du type UNALIGNED , car le pointeur n’est peut-être pas aligné DWORD . Cela 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);

Notes

L’en-tête winuser.h définit CREATESTRUCT comme un 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.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête winuser.h (inclure Windows.h)

Voir aussi

À propos de l’interface de documents multiples

Conceptuel

CréerWindow

CreateWindowEx

MDICREATESTRUCT

Référence

Windows