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::Create
etCFrameWnd::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 unNULL
pointeur peut être passé.Pour les fonctions membres substituables, telles que
CFrameWnd::OnCreateClient
, l’argumentCCreateContext
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