Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
MFC fournit la classe CWnd pour encapsuler le HWND handle d’une fenêtre. L’objet CWnd est un objet de fenêtre C++, distinct de celui HWND qui représente une fenêtre Windows, mais qui le contient. Utilisez CWnd pour dériver vos propres classes de fenêtres enfant, ou utilisez l’une des nombreuses classes MFC dérivées de CWnd. La CWnd classe est la classe de base pour toutes les fenêtres, notamment 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 par défaut des fenêtres, mais vous pouvez dériver votre propre classe de CWnd, et utiliser ses fonctions membres pour personnaliser les fonctionnalités fournies. Vous pouvez créer des fenêtres enfants en construisant un objet CWnd et en appelant sa fonction membre Créer, puis personnaliser les fenêtres enfants à l'aide de fonctions membres CWnd. 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 un mappage de messages, via lequel vous pouvez mapper des messages Windows ou des ID de commande à vos propres gestionnaires.
La documentation générale sur la programmation pour Windows est une ressource utile pour apprendre à programmer en utilisant les fonctions membres de CWnd, qui encapsulent les API de 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 aux éléments encapsulés HWND. CWnd fournit également des fonctions membres qui encapsulent les API Windows pour l’envoi de messages, l’accès à l’état de la fenêtre, la conversion des coordonnées, la mise à jour, le défilement, l’accès au Presse-papiers et de nombreuses autres tâches. La plupart des API de gestion des fenêtres Windows qui acceptent un HWND argument sont encapsulées en tant que fonctions membres de CWnd. Les noms des fonctions et de leurs paramètres sont conservés dans la CWnd fonction membre. 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 de CWnd sont des gestionnaires pour les messages standard : celles commençant par l’identificateur afx_msg et le préfixe « On », telles que OnPaint et OnMouseMove. La gestion et le mappage des messages couvrent en détail les messages et la gestion des messages. Les informations là-bas s'appliquent aussi bien aux fenêtres du cadre qu'à 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