Estrutura CCreateContext
A estrutura usa a estrutura CCreateContext
quando cria as janelas de quadro e as exibições associadas a um documento.
Sintaxe
struct CCreateContext
Comentários
CCreateContext
é uma estrutura e não tem uma classe base.
Quando você cria uma janela, os valores nessa estrutura fornecem as informações usadas para conectar os componentes de um documento à exibição de seus dados. Você só precisará usar CCreateContext
se estiver substituindo partes do processo de criação.
Uma estrutura CCreateContext
contém ponteiros para o documento, a janela de quadro, o modo de exibição e o modelo de documento. Ela também contém um ponteiro para um CRuntimeClass
que identifica o tipo de exibição a ser criado. As informações de classe em tempo de execução e o ponteiro do documento atual são usados para criar uma exibição dinamicamente. A seguinte tabela sugere como e quando cada membro CCreateContext
pode ser usado:
Membro | Tipo | Para que serve |
---|---|---|
m_pNewViewClass |
CRuntimeClass* |
CRuntimeClass do novo modo de exibição a ser criado. |
m_pCurrentDoc |
CDocument* |
O documento a ser associado ao novo modo de exibição. |
m_pNewDocTemplate |
CDocTemplate* |
O modelo de documento associado à criação de uma nova janela de quadro MDI. |
m_pLastView |
CView* |
O modo de exibição original no qual exibições adicionais são modeladas, como na criação de exibições de janela de divisor ou na criação de uma segunda exibição em um documento. |
m_pCurrentFrame |
CFrameWnd* |
A janela de quadro na qual janelas de quadros adicionais são modeladas, como na criação de uma segunda janela de quadro em um documento. |
Quando um modelo de documento cria um documento e seus componentes associados, ele valida as informações armazenadas na estrutura CCreateContext
. Por exemplo, um modo de exibição não deve ser criado para um documento inexistente.
Observação
Todos os ponteiros em CCreateContext
são opcionais e podem ser NULL
, se não especificados ou se desconhecidos.
CCreateContext
é usado pelas funções de membro listadas em "Ver também". Confira as descrições dessas funções para informações específicas se você planeja substituí-las.
Aqui estão algumas diretrizes gerais:
Quando passado como um argumento para a criação da janela, como em
CWnd::Create
,CFrameWnd::Create
eCFrameWnd::LoadFrame
, o contexto de criação especifica a que a nova janela deve ser conectada. Para a maioria das janelas, toda a estrutura é opcional e um ponteiroNULL
pode ser passado.Para funções de membro substituíveis, como
CFrameWnd::OnCreateClient
, o argumentoCCreateContext
é opcional.Para funções membro envolvidas na criação de exibição, você deve fornecer informações suficientes para criar a exibição. Por exemplo, para a primeira exibição em uma janela de divisor, você deve fornecer as informações de classe de exibição e o documento atual.
Em geral, se você usar os padrões da estrutura, poderá ignorar CCreateContext
. Se você tentar modificações mais avançadas, o código-fonte da biblioteca Microsoft Foundation Class ou os programas de exemplo, como VIEWEX, orientarão você. Se você esquecer um parâmetro obrigatório, uma declaração de estrutura dirá o que você esqueceu.
Para mais informações sobre CCreateContext
, confira o exemplo do MFC VIEWEX.
Requisitos
Cabeçalho: afxext.h
Confira também
Gráfico da hierarquia
CFrameWnd::Create
CFrameWnd::LoadFrame
CFrameWnd::OnCreateClient
CSplitterWnd::Create
CSplitterWnd::CreateView
CWnd::Create