Partager via


CCreateContext, structure

L’infrastructure utilise la CCreateContext structure lorsqu’elle crée les fenêtres d’images et les vues associées à un document.

Syntaxe

struct CCreateContext

Notes

CCreateContext est une structure et n’a pas de classe de base.

Lorsque vous créez une fenêtre, les valeurs de cette structure fournissent les informations utilisées pour connecter les composants d’un document à la vue de ses données. Vous devez uniquement utiliser CCreateContext si vous substituez des parties du processus de création.

Une CCreateContext structure contient des pointeurs vers le document, la fenêtre frame, la vue et le modèle de document. Il contient également un pointeur vers un CRuntimeClass qui identifie le type d’affichage à créer. Les informations de classe d’exécution et le pointeur de document actuel sont utilisées pour créer une vue dynamiquement. Le tableau suivant suggère comment et quand chaque CCreateContext membre peut être utilisé :

Membre Type Qu’est-ce que c’est pour
m_pNewViewClass CRuntimeClass* CRuntimeClass de la nouvelle vue à créer.
m_pCurrentDoc CDocument* Document existant à associer à la nouvelle vue.
m_pNewDocTemplate CDocTemplate* Modèle de document associé à la création d’une nouvelle fenêtre frame MDI.
m_pLastView CView* Vue d’origine sur laquelle des vues supplémentaires sont modélisées, comme dans la création d’affichages de fenêtre de fractionnement ou la création d’une deuxième vue sur un document.
m_pCurrentFrame CFrameWnd* Fenêtre frame sur laquelle des fenêtres d’images supplémentaires sont modélisées, comme dans la création d’une deuxième fenêtre frame sur un document.

Lorsqu’un modèle de document crée un document et ses composants associés, il valide les informations stockées dans la CCreateContext structure. Par exemple, une vue ne doit pas être créée pour un document inexistant.

Remarque

Tous les pointeurs sont CCreateContext facultatifs et peuvent être NULL non spécifiés ou inconnus.

CCreateContext est utilisé par les fonctions membres répertoriées sous « Voir aussi ». Consultez les descriptions de ces fonctions pour obtenir des informations spécifiques si vous envisagez de les remplacer.

Voici quelques instructions générales :

  • Lorsqu’il est passé en tant qu’argument pour la création de fenêtre, comme dans CWnd::Create, CFrameWnd::Createet CFrameWnd::LoadFrame, le contexte de création spécifie à quoi la nouvelle fenêtre doit être connectée. Pour la plupart des fenêtres, la structure entière est facultative et un NULL pointeur peut être passé.

  • Pour les fonctions membres substituables, telles que CFrameWnd::OnCreateClient, l’argument CCreateContext est facultatif.

  • Pour les fonctions membres impliquées dans la création d’affichage, vous devez fournir suffisamment d’informations pour créer la vue. Par exemple, pour la première vue dans une fenêtre de fractionnement, vous devez fournir les informations de classe d’affichage et le document actif.

En général, si vous utilisez les valeurs par défaut de l’infrastructure, vous pouvez ignorer CCreateContext. Si vous tentez des modifications plus avancées, le code source de la bibliothèque de classes Microsoft Foundation ou les exemples de programmes, tels que VIEWEX, vous guideront. Si vous oubliez un paramètre requis, une assertion de framework vous indique ce que vous avez oublié.

Pour plus d’informations sur CCreateContext, consultez l’exemple MFC VIEWEX.

Spécifications

En-tête : afxext.h

Voir aussi

Graphique hiérarchique
CFrameWnd ::Create
CFrameWnd ::LoadFrame
CFrameWnd ::OnCreateClient
CSplitterWnd ::Create
CSplitterWnd ::CreateView
CWnd ::Create