Compartilhar via


Vários tipos de documento, exibições e quadros Windows

Descrito o Relação entre um documento, seu modo de exibição e sua janela de quadro padrãoCriação de documento/exibição.Muitos aplicativos oferecem suporte a um tipo de documento único (mas possivelmente vários documentos abertos desse tipo) com um único modo de exibição no documento e apenas um quadro janela por documento.Mas alguns aplicativos podem precisar alterar um ou mais desses padrões.

O que você deseja saber mais sobre?

  • Vários documento tipos

  • Vários modos de exibição

  • Várias janelas de quadro

  • Divisor de janelas

Vários tipos de documento

O Assistente de aplicativos MFC cria uma classe de documento único para você.Em alguns casos, no entanto, talvez seja necessário oferecer suporte a mais de um tipo de documento.Por exemplo, seu aplicativo pode precisar documentos gráficos e planilhas.Cada tipo de documento é representado por sua própria classe de documento e provavelmente por sua própria classe de modo de exibição também.Quando o usuário escolhe o comando novo arquivo, a estrutura exibe uma caixa de diálogo que lista o suporte documento tipos.Em seguida, ele cria um documento do tipo que o usuário escolhe.Cada tipo de documento é gerenciado pelo seu próprio objeto de modelo de documento.

Para criar classes de documentos adicionais, consulte Adicionando uma classe.escolher CDocument sistema autônomo o tipo de classe para derivar e forneça sistema autônomo informações de documento solicitado.Em seguida, implemente dados a nova classe.

Para permitir que a estrutura conhecer sua classe de documento extra, você deve adicionar uma segunda telefonar para AddDocTemplate na CWinAppEx substituir.Para obter mais informações, consulte Modelos de documento.

Vários modos de exibição

Muitos documentos exigem somente um modo de exibição, mas é possível oferecer suporte a mais de um modo de exibição de um único documento.Para ajudar você a implementar vários modos de exibição, um objeto de documento mantém uma lista dos seus modos de exibição, fornece funções de membro para adicionar e remover os modos de exibição e fornece o UpdateAllViewsfunção de membro para permitir vários modos de exibição sabem quando os dados do documento é alterado.

MFC oferece suporte a três interfaces de usuário comuns que requerem várias exibições no mesmo documento.Esses modelos são:

  • Objetos de exibição da mesma classe, cada um em uma janela de quadro MDI documento.

    Você talvez queira oferecer suporte à criação de uma segunda janela do quadro em um documento.O usuário pode escolher um comando nova janela para em em aberto um segundo quadro com um modo de exibição do mesmo documento e, em seguida, use os dois quadros para exibir diferentes partes do documento ao mesmo tempo.A estrutura oferece suporte ao comando nova janela no menu janela para aplicativos MDI duplicando a janela de quadro inicial e a exibição anexado ao documento.

  • Objetos de exibição da mesma classe na mesma janela do quadro de documento.

    Janelas de divisor de dividir o espaço de exibição de uma janela do documento único em vários modos de exibição separados do documento.A estrutura cria vários objetos de exibição a partir da mesma classe de modo de exibição.Para obter mais informações, consulte Divisor do Windows.

  • Visualizar objetos de classes diferentes em uma janela de quadro único.

    Nesse modelo, uma variação da janela separadora, vários modos de exibição compartilham uma janela de quadro único.Os modos de exibição são construídos a partir de classes diferentes, cada modo de exibição fornecendo uma maneira diferente para exibir o mesmo documento.Por exemplo, um modo de exibição pode mostrar um documento de processamento de texto no modo normal, enquanto Outros modo de exibição mostra-la no modo de estrutura de tópicos.Um controle de separador permite ao usuário ajustar os tamanhos relativos dos modos de exibição.

A figura a seguir, dividido em partes a, b e c, mostra os três modelos de interface do usuário na ordem apresentada acima.

Exibir várias interfaces do usuário

A estrutura fornece esses modelos, Implementando o comando nova janela e fornecendo classe CSplitterWnd, conforme discutido em Divisor do Windows.Você pode implementar outros modelos usando esses sistema autônomo seu ponto de partida.Para programas de exemplo que ilustram diferentes configurações de modos de exibição, janelas de quadro e divisores, consulte Exemplos do MFC.

Para obter mais informações sobre o UpdateAllViews, consulte classe CView in the Referência da MFC and the Exemplo do Rabisco.

Vários quadros Windows

Você pode usar o comando nova janela no menu janela para aplicativos MDI para criar uma segunda janela do quadro no mesmo documento.Para obter mais informações, consulte o primeiro modelo no Figura Exibir várias interfaces do usuário.

Divisor do Windows

Em uma janela de divisão, a janela é, ou pode ser dividido em dois ou mais painéis roláveis.Um divisor de controle (ou "dividir caixa") no quadro de janela ao lado para as barras de rolar permite ao usuário ajustar os tamanhos relativos dos painéis.Cada painel é um modo de exibição no mesmo documento.Divisores "dinâmicos", sistema autônomo modos de exibição são da mesma classe, conforme mostrado na parte b da FiguraExibir várias interfaces do usuário.Em divisores "estático", os modos de exibição podem ser de classes diferentes.Janelas de divisor de ambos os tipos são suportadas pela classe CSplitterWnd.

Divisor dinâmico janelas, modos de exibição da mesma classe, permitem que o usuário dividir uma janela em vários painéis à vontade e, em seguida, role painéis diferentes para ver diferentes partes do documento.O usuário também pode unsplit a janela para remover os modos de exibição adicionais.As janelas de divisor adicionadas ao Exemplo do Rabisco são um exemplo.Esse tópico descreve a técnica para criar janelas dinâmicas divisor.Uma janela separadora dinâmica é mostrada na parte b do Figura Exibir várias interfaces do usuário.

Divisor estático janelas, modos de exibição de classes diferentes, começam com a janela dividida em vários painéis, cada um com uma finalidade diferente.Por exemplo, no editor de bitmap do Visual C++, a janela da imagem mostra dois painéis lado a lado.O painel esquerdo exibe uma imagem life-sized do bitmap.O painel direito exibe uma imagem com zoom ou ampliada do mesmo bitmap.Os painéis são separados por uma "BAR divisória" que o usuário pode arrastar para alterar o tamanho relativo dos painéis.Uma janela separadora estático é mostrada na parte c do Figura Exibir várias interfaces do usuário.

Para obter mais informações, consulte classe CSplitterWnd in the Referência da MFC and Exemplos do MFC.

Consulte também

Conceitos

Arquitetura de documento/exibição