Partilhar via


Estrutura CCreateContext

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

O framework utiliza a CCreateContext estrutura quando cria as janelas de frame e as vistas associadas a um documento.

Sintaxe

struct CCreateContext

Observações

CCreateContext é uma estrutura e não tem uma classe base.

Quando cria uma janela, os valores desta estrutura fornecem a informação usada para ligar os componentes de um documento à vista dos seus dados. Só tens de usar CCreateContext se estiveres a sobrepor partes do processo de criação.

Uma estrutura contém ponteiros para o documento, a janela de CCreateContext frame, a vista e o modelo do documento. Também contém um ponteiro para a CRuntimeClass que identifica o tipo de vista a criar. A informação da classe em tempo de execução e o ponteiro atual do documento são usados para criar uma nova vista dinamicamente. A tabela seguinte sugere como e quando cada CCreateContext membro poderá ser utilizado:

Membro Tipo Para que serve
m_pNewViewClass CRuntimeClass* CRuntimeClass da nova visão para criar.
m_pCurrentDoc CDocument* O documento existente será associado à nova visão.
m_pNewDocTemplate CDocTemplate* O modelo de documento associado à criação de uma nova janela de frame MDI.
m_pLastView CView* A visão original sobre a qual se modelam vistas adicionais, como na criação de vistas de janela divisória ou na criação de uma segunda vista num documento.
m_pCurrentFrame CFrameWnd* A janela de moldura na qual são modeladas janelas de moldura adicionais, como na criação de uma segunda janela de moldura num documento.

Quando um modelo de documento cria um documento e os seus componentes associados, valida a informação armazenada na CCreateContext estrutura. Por exemplo, não deve ser criada uma vista para um documento inexistente.

Observação

Todos os ponteiros são CCreateContext opcionais e podem ser NULL , caso não sejam especificados ou desconhecidos.

CCreateContext é utilizado pelas funções membros listadas em "Ver Também." Consulte as descrições destas funções para obter informações específicas caso planeie sobrepê-las.

Aqui estão algumas orientações gerais:

  • Quando aprovado como argumento para criação de janelas, como em CWnd::Create, CFrameWnd::Create, e CFrameWnd::LoadFrame, o contexto de criação especifica a que a nova janela deve estar ligada. Para a maioria das janelas, toda a estrutura é opcional e um NULL ponteiro pode ser passado.

  • Para funções membros sobrescritíveis, como CFrameWnd::OnCreateClient, o CCreateContext argumento é opcional.

  • Para as funções dos membros envolvidas na criação da vista, deve fornecer informação suficiente para criar a vista. Por exemplo, para a primeira vista numa janela divisor, deve fornecer a informação da classe de visualização e o documento atual.

Em geral, se usares os padrões do framework, podes ignorar CCreateContext. Se tentar modificações mais avançadas, o código-fonte da Microsoft Foundation Class Library ou os programas de exemplo, como o VIEWEX, irão guiá-lo. Se te esqueceres de um parâmetro obrigatório, uma asserção de estrutura dir-te-á o que esqueceste.

Para mais informações sobre CCreateContext, consulte o exemplo de MFC VIEWEX.

Requerimentos

Cabeçalho: afxext.h

Consulte também

Gráfico de Hierarquia
CFrameWnd::Create
CFrameWnd::LoadFrame
CFrameWnd::OnCreateClient
CSplitterWnd::Criar
CSplitterWnd::CreateView
CWnd::Create