Partager via


CCreateContext, structure

L'infrastructure utilise la structure d' CCreateContext lorsqu'il crée les fenêtres frames et les vues qui sont associées à un document.

struct CCreateContext

Notes

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

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

Une structure d' CCreateContext contient des pointeurs vers le document, à la fenêtre frame, à la vue, et au modèle de document. Elle contient également un pointeur vers CRuntimeClass qui identifie le type de vue à créer. Les informations sur la classe à l'exécution et le pointeur du document actuel sont utilisés pour créer une nouvelle vue dynamiquement. Le tableau suivant l'indique comment et quand chaque membre d' CCreateContext peut être utilisé :

Membre

Type

Pour ce qu'il soit

m_pNewViewClass

CRuntimeClass*

CRuntimeClass de la nouvelle vue à créer.

m_pCurrentDoc

CDocument*

Le document existant à associer à la nouvelle vue.

m_pNewDocTemplate

CDocTemplate*

Le modèle de document associé à la création d'une nouvelle fenêtre frame MDI.

m_pLastView

CView*

La vue d'origine sur lequel les affichages supplémentaires sont modelées, comme dans la création des vues de fenêtre fractionnée ou la création d'une nouvelle vue d'un document.

m_pCurrentFrame

CFrameWnd*

La fenêtre frame sur lequel les fenêtres frames supplémentaires sont modelées, comme lors de 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 structure d' CCreateContext . Par exemple, une vue ne doit pas être créée pour un document inexistante.

Notes

Tous les pointeurs dans CCreateContext sont facultatifs et peuvent être NULL si non spécifié ou inconnu.

CCreateContext est utilisé par les fonctions membres répertoriés sous « consultez également. » Consultez les descriptions de ces fonctions pour des informations spécifiques si vous envisagez de les remplacer.

Voici quelques recommandations générales :

  • Une fois passé comme un argument pour la création de fenêtre, comme dans CWnd::Create, CFrameWnd::Create, et CFrameWnd::LoadFrame, le contexte de créer spécifie que la nouvelle fenêtre doit être connectée. Pour la plupart des fenêtres, la structure entière est facultative et un pointeur d' NULL peut être passé.

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

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

En général si vous utilisez l'infrastructure a comme valeur par défaut, vous pouvez ignorer CCreateContext. Si vous essayez les modifications plus avancées, le code source de la bibliothèque MFC ou les exemples de programme, tels que VIEWEX, vous guidera. Si vous oubliez un paramètre requis, une assertion d'infrastructure vous indique que vous avez oublié.

Pour plus d'informations sur CCreateContext, consultez l'exemple VIEWEXMFC.

Configuration requise

**en-tête :**afxext.h

Voir aussi

Référence

Graphique de la hiérarchie

CFrameWnd::Create

CFrameWnd::LoadFrame

CFrameWnd::OnCreateClient

CSplitterWnd::Create

CSplitterWnd::CreateView

CWnd::Create