Objets fenêtres
MFC fournit la classe CWnd pour encapsuler le HWND
handle d’une fenêtre. L'objet CWnd
est un objet Windows C++, distinct de HWND
qui représente une fenêtre Windows mais qui le contient. Utilisez CWnd
pour dériver vos classes de la fenêtre enfant, ou utilisez l'une des nombreuses classes MFC dérivées de CWnd
. La classe CWnd
est la classe de base pour toutes les fenêtres, en particulier les fenêtres frame, les boîtes de dialogue, les fenêtres enfants, les contrôles et les barres de contrôle, telles que les barres d'outils. Une bonne compréhension de la relation entre un objet fenêtre C++ et un HWND est essentielle pour la programmation efficace avec MFC.
MFC fournit certaines fonctionnalités et gestion de fenêtres par défaut, mais vous pouvez dériver votre propre classe à partir de CWnd
et utiliser ses fonctions membre pour personnaliser les fonctionnalités fournies. Vous pouvez créer des fenêtres enfants en construisant un objet et en appelant sa fonction Créer un CWnd
membre, puis personnaliser les fenêtres enfants à l’aide CWnd
de fonctions membres. Vous pouvez incorporer des objets dérivés de CView, tels que des vues de formulaire ou des arborescences, dans une fenêtre frame. Vous pouvez également prendre en charge plusieurs vues de vos documents via des volets de fractionnement, fournis par la classe CSplitterWnd.
Chaque objet dérivé de la classe CWnd
contient une table de messages, dans laquelle vous pouvez mapper des messages Windows ou des ID de commande à vos propres gestionnaires.
La documentation générale sur la programmation pour Windows constitue une bonne ressource pour apprendre à utiliser les fonctions membres de CWnd
, qui encapsulent les API HWND
.
Fonctions pour une exécution CWnd
CWnd
et ses classes de fenêtre dérivées fournissent des constructeurs, des destructeurs et des fonctions membres pour initialiser l’objet, créer les structures Windows sous-jacentes et accéder à l’encapsulé HWND
. CWnd
fournit également des fonctions membres qui encapsulent les API Windows pour envoyer des messages, accéder à l'état de la fenêtre, convertir des coordonnées, mettre à jour, défiler, accéder au Presse-papiers, et bien d'autres tâches. La plupart des API de gestion de fenêtre Windows qui prennent un argument HWND
sont encapsulées en fonctions membres de CWnd
. Les noms des fonctions et leurs paramètres sont conservés dans la fonction membre de CWnd
. Pour plus d’informations sur les API Windows encapsulées par CWnd
, consultez la classe CWnd.
Messages Windows et CWnd
L’un des principaux objectifs est de CWnd
fournir une interface pour gérer les messages Windows, tels que WM_PAINT ou WM_MOUSEMOVE. La plupart des fonctions membres d’entre CWnd
elles sont des gestionnaires pour les messages standard : celles commençant par l’identificateur afx_msg et le préfixe « On », tels que OnPaint
et OnMouseMove
. La gestion et le mappage des messages couvrent en détail les messages et la gestion des messages. Les informations s'appliquent identiquement aux fenêtres de le framework et celles que vous créez vous-même à des fins spéciales.
Que voulez-vous en savoir plus sur
Contextes d’appareil : objets qui rendent l’appareil de dessin Windows indépendant
Objets graphiques : stylets, pinceaux, polices, bitmaps, palettes, régions