Compartilhar via


Programa MFC ou origem de controle e arquivos de cabeçalho

Os arquivos a seguir são criados quando você cria um projeto MFC no Visual Studio, dependendo das opções selecionadas para o projeto criado. Por exemplo, o projeto contém os arquivos Nome_do_projetodlg.cpp e Nome_do_projetodlg.h somente se você cria uma classe ou um projeto baseado em caixa de diálogo.

Todos esses arquivos estão localizados no diretório Nome_do_projeto e na pasta Arquivos de Cabeçalho (arquivos .h) ou na pasta Arquivos de Origem (arquivos .cpp) do Gerenciador de Soluções.

Nome do arquivo Descrição
Nome_do_projeto.h O arquivo de inclusão principal do programa ou da DLL. Contém todos os símbolos globais e diretivas #include para outros arquivos de cabeçalho. Deriva a classe CPrjnameApp de CWinApp e declara uma função de membro InitInstance. Para um controle, a classe CPrjnameApp é derivada de COleControlModule.
Nome_do_projeto.cpp O arquivo de origem do programa principal. Cria um objeto da classe CPrjnameApp, que é derivada de CWinApp, e substitui a função de membro InitInstance.

Para executáveis, CPrjnameApp::InitInstance executa várias operações. Registra modelos de documento, que servem como uma conexão entre documentos e exibições; cria uma janela com moldura principal; e cria um documento vazio (ou abre um documento, caso um seja especificado como um argumento de linha de comando para o aplicativo).

Para DLLs e controles ActiveX (anteriormente OLE), CProjNameApp::InitInstance registra o alocador de objeto do controle no OLE chamando COleObjectFactory::RegisterAll e faz uma chamada a AfxOLEInit. Além disso, a função de membro CProjNameApp::ExitInstance é usada para descarregar o controle da memória com uma chamada a AfxOleTerm.

Esse arquivo também registra e cancela o registro do controle no banco de dados de registro do Windows com a implementação das funções DllRegisterServer e DllUnregisterServer.
Nome_do_projetoctrl.h, Nome_do_projetoctrl.cpp Declaram e implementam a classe CProjnameCtrl. CProjnameCtrl é derivado de COleControl, e são definidas as implementações de esqueleto de algumas funções de membro que inicializam, desenham e serializam (carregam e salvam) o controle. Os mapas de mensagens, eventos e expedição também são definidos.
Nome_do_projetodlg.cpp, Nome_do_projetodlg.h Criados se um aplicativo baseado em caixa de diálogo é escolhido. Os arquivos derivam e implementam a classe de caixa de diálogo, chamada CProjnameDlg, e incluem funções de membro de esqueleto para inicializar uma caixa de diálogo e executar a DDX (troca de dados da caixa de diálogo). A classe de caixa de diálogo Sobre também é colocada nesses arquivos, em vez de em Nome_do_projeto.cpp.
Dlgproxy.cpp, Dlgproxy.h Em um diálogo baseado em programa, a implementação e o arquivo de cabeçalho para a classe proxy de Automação do projeto da caixa de diálogo principal. Isso é usado somente se você escolheu o suporte de Automação.
Nome_do_projetodoc.cpp, Nome_do_projetodoc.h Derivam e implementam a classe de documento, chamada CProjnameDoc, e incluem funções de membro de esqueleto para inicializar um documento, serializar (salvar e carregar) um documento, bem como implementar o diagnóstico de depuração.
Nome_do_projetoset.h/.cpp Criado se você criar um programa que dá suporte a um banco de dados e que contém a classe do conjunto de registros.
Nome_do_projetoview.cpp, Nome_do_projetoview.h Derivam e implementam a classe de exibição, chamada CProjnameView, que é usada para exibir e imprimir os dados do documento. A classe CProjnameView é derivada de uma das seguintes classes MFC:

- CEditView
- CFormView
- CRecordView
- COleDBRecordView
- CTreeView
- CListView
- CRichEditView
- CScrollView
- CView
- CHTMLView
- CHTMLEditView

A classe de exibição do projeto contém funções de membro de esqueleto para desenhar a exibição e implementar o diagnóstico de depuração. Se você habilitou o suporte para impressão, as entradas do mapa de mensagens são adicionadas às mensagens de comando de impressão, configuração de impressão e visualização de impressão. Essas entradas chamam as funções de membro correspondentes na classe base de exibição.
Nome_do_projetoPropPage.h, Nome_do_projetoPropPage.cpp Declaram e implementam a classe CProjnamePropPage. CProjnamePropPage é derivado de COlePropertyPage e uma função de membro de esqueleto, DoDataExchange, é fornecida para implementar a troca e a validação de dados.
IPframe.cpp, IPframe.h Criado se a opção Minisservidor ou Servidor Completo estiver selecionada na página Opções de Automação do assistente de aplicativo (etapa 3 de 6). Os arquivos derivam e implementam a classe de janela com moldura in-loco, chamada CInPlaceFrame, usada quando o servidor está em vigor, ativado por um programa de contêiner.
Mainfrm.cpp, Mainfrm.h Derivam a classe CMainFrame de CFrameWnd (para aplicativos SDI) ou CMDIFrameWnd (para aplicativos MDI). A classe CMainFrame manipula a criação de botões de barra de ferramentas e da barra de status se as opções correspondentes estão selecionadas na página Opções do Aplicativo do assistente de aplicativo (etapa 4 de 6). Para obter informações sobre como usar CMainFrame, confira As classes de janela com moldura criadas pelo Assistente de Aplicativo.
Childfrm.cpp, Childfrm.h Derivam a classe CChildFrame de CMDIChildWnd. A classe CChildFrame é usada para janelas com moldura de documentos MDI. Esses arquivos são sempre criados se você seleciona a opção MDI.

Confira também

Tipos de arquivo criados para projetos do Visual Studio C++
Programa ATL ou origem de controle e arquivos de cabeçalho
Projetos CLR