Exibições de formulário (MFC)
Você pode adicionar formulários a qualquer aplicativo Visual C++ que dê suporte às bibliotecas MFC, incluindo um aplicativo baseado em formulários (aquele cuja classe de exibição é derivada de CFormView
). Se você não criou inicialmente seu aplicativo para dar suporte a formulários, o Visual C++ adicionará esse suporte quando você inserir um novo formulário. Em um aplicativo SDI ou MDI, que implementa a arquitetura de documento/exibição padrão, quando o usuário escolhe o comando Novo (por padrão, no menu Arquivo ), o Visual C++ solicita que o usuário escolha entre os formulários disponíveis.
Com um aplicativo SDI, quando o usuário escolhe o comando Novo, a instância atual do formulário continua a ser executada, mas se nenhuma for encontrada, uma instância do aplicativo com o formulário selecionado será criada. Em um aplicativo MDI, a instância atual do formulário continua a ser executada quando o usuário escolhe o comando Novo.
Observação
Você pode inserir um formulário em um aplicativo baseado em caixa de diálogo (aquele cuja classe de caixa de diálogo é baseada em CDialog
e no qual nenhuma classe de exibição é implementada). No entanto, sem a arquitetura de documento/exibição, o Visual C++ não implementa automaticamente a funcionalidade Arquivo>Novo. Você precisa criar uma maneira de o usuário exibir formulários adicionais, como implementando uma caixa de diálogo com várias páginas de propriedades.
Quando você insere um novo formulário em seu aplicativo, o Visual C++ faz o seguinte:
Cria uma classe com base em uma das classes de estilo de formulário que você escolhe (
CFormView
,CRecordView
,CDaoRecordView
ouCDialog
).Cria um recurso de caixa de diálogo com estilos apropriados (ou você pode usar um recurso de diálogo existente que ainda não foi associado a uma classe).
Se você escolher um recurso de caixa de diálogo existente, talvez seja necessário definir esses estilos usando a página Propriedades para a caixa de diálogo. Os estilos de uma caixa de diálogo precisam incluir:
WS_CHILD=On
WS_BORDER=Off
WS_VISIBLE=Off
WS_CAPTION=Off
Para aplicativos com base na arquitetura de documento/exibição, o comando Novo Formulário (clique com o botão direito do mouse no Modo de Exibição de Classe) também:
Cria uma classe baseada em
CDocument
Em vez de criar uma nova classe, você pode usar qualquer classe baseada em
CDocument
existente em seu projeto.Gera um modelo de documento (derivado de
CDocument
) com recursos de cadeia de caracteres, menu e ícone.Você também pode criar uma classe na qual basear o modelo.
Adiciona uma chamada ao código
AddDocumentTemplate
do aplicativoInitInstance
.O Visual C++ adiciona esse código para cada novo formulário criado, o que adiciona o formulário à lista de formulários disponíveis quando o usuário escolhe o comando Novo. Esse código inclui a ID de recurso associada do formulário e os nomes das classes de documento, exibição e quadro associadas que, juntas, compõem o novo objeto de formulário.
Os modelos de documento servem como a conexão entre documentos, janelas de quadro e exibições. Para apenas um documento, você pode criar muitos modelos.
Para saber mais, veja: