Criando novos documentos, janelas e exibições

Os números a seguir fornecem uma visão geral do processo de criação de documentos, exibições e janelas de quadros. Outros artigos que se concentram nos objetos participantes fornecem mais detalhes.

Após a conclusão desse processo, os objetos que colaboram existem e armazenam ponteiros uns para os outros. Os números a seguir mostram a sequência na qual os objetos são criados. Você pode seguir a sequência de figura em figura.

Diagram showing the sequence for creating a document.
Sequência na criação de um documento

Diagram showing the Frame Window creation sequence.
Sequência na criação de uma janela de quadro

Diagram showing the sequence for creating a view.
Sequência na criação de uma exibição

Para obter informações sobre como a estrutura inicializa os novos objetos de documento, exibição e janela de quadros, consulte as classes CDocument, CView, CFrameWnd, CMDIFrameWnd e CMDIChildWnd na Referência da Biblioteca MFC. Consulte também a Nota Técnica 22, que explica os processos de criação e inicialização mais adiante em sua discussão sobre os comandos padrão da estrutura para os itens Novos e Abertos no menu Arquivo.

Inicializando suas próprias adições a essas classes

Os números anteriores também sugerem os pontos nos quais você pode substituir as funções de membro para inicializar os objetos do aplicativo. Uma substituição OnInitialUpdate em sua classe de exibição é o melhor lugar para inicializar a exibição. A chamada de OnInitialUpdate ocorre imediatamente após a criação da janela de quadros e a exibição dentro da janela de quadros é anexada ao documento. Por exemplo, se o modo de exibição for um modo de exibição de rolagem (derivado de CScrollView em vez de CView), você deverá definir o tamanho da exibição com base no tamanho do documento na substituição de OnInitialUpdate. (Esse processo é descrito na descrição da classe CScrollView.) Você pode substituir as funções de membro CDocument OnNewDocument e OnOpenDocument para fornecer inicialização específica do aplicativo do documento. Normalmente, você deve substituir ambos, pois um documento pode ser criado de duas maneiras.

Na maioria dos casos, sua substituição deve chamar a versão de classe base. Para obter mais informações, consulte as funções de membro nomeadas das classes CDocument, CView, CFrameWnd e CWinApp na Referência da Biblioteca MFC.

Confira também

Modelos de documento e o processo de criação de exibição de documento
Criação do modelo de documento
Criação de exibição/documento
Relacionamentos entre objetos MFC