Comment Créer Une Fenêtre Windows

Table des matières:

Comment Créer Une Fenêtre Windows
Comment Créer Une Fenêtre Windows

Vidéo: Comment Créer Une Fenêtre Windows

Vidéo: Comment Créer Une Fenêtre Windows
Vidéo: How to make windows to the universe ~ Comment créer des fenêtres sur l'univers 2024, Décembre
Anonim

Les principes de fonctionnement de l'interface utilisateur des systèmes d'exploitation de la famille Windows reposent sur le concept de fenêtre. Le bureau, la barre des tâches, les listes, les boîtes de dialogue, les boutons, les menus sont tous des fenêtres. Par conséquent, en fait, pour afficher n'importe quel élément d'interface, vous devez créer une fenêtre Windows.

Comment créer une fenêtre Windows
Comment créer une fenêtre Windows

Nécessaire

  • - compilateur;
  • - SDK de plate-forme Windows.

Instructions

Étape 1

Enregistrez la classe de la fenêtre à créer, si nécessaire. Faites un appel aux fonctions API RegisterClass, RegisterClassEx ou utilisez la fonctionnalité appropriée du framework utilisé.

Les fonctions RegisterClass et RegisterClassEx acceptent des pointeurs vers des structures de type WNDCLASS et WNDCLASSEX, respectivement, comme leur seul paramètre. La valeur de retour de type ATOM peut être utilisée à la place du nom de classe lors de la création d'une fenêtre. Si l'appel de fonction échoue, la valeur de retour est 0.

Instanciez une structure de type WNDCLASS ou WNDCLASSEX. Remplissez tous les champs nécessaires. En particulier, les valeurs correctes doivent être placées dans:

- cbSize - taille de la structure en octets;

- style - un ensemble de styles pour la classe window;

- lpfnWndProc - pointeur vers une procédure de fenêtre;

- hInstance est le handle du module dans lequel la classe window est enregistrée;

- lpszClassName est le nom symbolique de la classe.

Le reste des champs peut être écrit avec des valeurs NULL. Effectuez un appel de fonction pour enregistrer la classe de fenêtre. Vérifiez le résultat renvoyé.

Étape 2

Sélectionnez une classe de fenêtre existante si nécessaire. Vous devez connaître le nom de classe symbolique (celui passé par le pointeur lpszClassName lors de son enregistrement) ou la valeur ATOM correspondante. La classe peut être locale au niveau de l'application, globale au niveau de l'application (enregistrée avec l'indicateur CS_GLOBALCLASS) ou classe système. Le dernier type comprend des classes de fenêtres avec les noms: Button, ComboBox, Edit, ListBox, MDIClient, ScrollBar, Static. Des classes telles que RichEdit20W ou SysListView32 sont enregistrées lorsque les bibliothèques correspondantes sont chargées.

Étape 3

Créez une fenêtre Windows. Utilisez les fonctions API CreateWindow, CreateWindowEx ou les méthodes wrapper appropriées pour les objets de classe du framework ou de la bibliothèque que vous utilisez. Le prototype de la fonction CreateWindowEx ressemble à ceci:

HWND CreateWindowEx (DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, entier x, int y, int nLargeur, int nHauteur, HWND hWndParent, HMENU hMenu, INDIQUE hInstance, LPVOID lpParam);

La fonction CreateWindow diffère de CreateWindowEx uniquement en l'absence du paramètre dwExStyle.

Appelez CreateWindow ou CreateWindowEx. Transmettez au paramètre lpClassName le nom ou la valeur ATOM de la classe de fenêtre que vous avez définie à la première ou à la deuxième étape. Les paramètres x, y, nWidth, nHeight peuvent être les coordonnées et les tailles de la fenêtre en cours de création. Le handle de fenêtre parent (le cas échéant) est passé via hWndParent.

Enregistrez et analysez la valeur renvoyée par CreateWindow ou CreateWindowEx. En cas de succès, ils renverront un descripteur à la nouvelle fenêtre; en cas d'échec, NULL.

Conseillé: