Como: criar a exibição MDI do Host e o controle de usuário
As etapas a seguir mostram como criar um.Controle de usuário do NET Framework, crie o controle de usuário em uma biblioteca de classe do controle (especificamente, um projeto de biblioteca de controle do Windows) e compilar o projeto em um assembly.O controle pode ser consumido de um aplicativo do MFC usa classes derivadas de Classe CView e Classe CWinFormsView.
Para obter informações sobre como criar um controle de usuário do Windows Forms e criar uma biblioteca de classe de controle, consulte como: controles de usuário do autor.
Observação |
---|
Em alguns casos, os controles de Windows Forms, como um controle de grade de terceiros podem não se comportar confiável quando hospedado em um aplicativo MFC.Uma solução recomendada é colocar um controle de usuário do Windows Forms no aplicativo do MFC e colocar o controle de grade de terceiros dentro do controle de usuário. |
Este procedimento pressupõe que você criou um projeto de biblioteca de controles do Windows Forms chamado WindowsFormsControlLibrary1, de acordo com o procedimento de Como: criar o controle de usuário e o Host em uma caixa de diálogo.
Para criar o aplicativo host do MFC
Crie um projeto de aplicativo do MFC.
Sobre o arquivo menu, selecione novae clique em projeto.No Visual C++ pasta, selecione Aplicativo MFC.
No nome , digite MFC02 e altere o solução como Adicionar a solução.Click OK.
No MFC Application Wizard, aceite todos os padrões e clique em Concluir.Isso cria um aplicativo do MFC com uma Interface de documentos múltiplos.
Configure o projeto para suporte a Common Language Runtime (CLR).
Em Solution Explorer, com o botão direito do MFC01 nó do projeto e selecione Propriedades no menu de contexto.O Páginas de propriedades caixa de diálogo aparece.
Em Propriedades de configuração de, selecione Geral.Sob o Padrões de projeto seção, definir suporte a Common Language Runtime para Common Language Runtime suporte (/ clr).
Em Propriedades de configuração de, expanda C/C++ e clique no Geral nó.Definir formato de informações de depuração para banco de dados do programa (/Zi).
Clique o Geração de código nó.Definir Ativar mínima recompilar para não (/ Gm-).Também definir Basic Runtime verifica para padrão.
Clique em OK para aplicar suas alterações.
Em stdafx. h, adicione a seguinte linha:
#using <System.Windows.Forms.dll>
Adicionar uma referência para o.NET controle.
Em Solution Explorer, com o botão direito do MFC02 nó projeto e selecione referências.No Página de propriedade, clique Adicionar nova referência, selecione WindowsFormsControlLibrary1 (sob o projetos guia) e clique em OK.Isso adiciona uma referência na forma de um /FU opção de compilador para que o programa será compilado; Ele também copia WindowsFormsControlLibrary1.dll para o MFC02 diretório do projeto para que o programa será executado.
Em stdafx. h, localize esta linha:
#endif // _AFX_NO_AFXCMN_SUPPORT
Adicione essas linhas acima dela:
#include <afxwinforms.h> // MFC Windows Forms support
Modificar a classe de modo de exibição para que ele herda de CWinFormsView.
MFC02View.h, substitua CView com CWinFormsView para que o código aparece da seguinte maneira:
class CMFC02View : public CWinFormsView { };
Se você desejar adicionar modos de exibição adicionais a seu aplicativo MDI, você precisará chamar CWinApp::AddDocTemplate para cada modo de exibição que você criar.
Modifique o arquivo MFC02View.cpp para alterar CView para CWinFormsView no mapa da mensagem e a macro IMPLEMENT_DYNCREATE e substituir o construtor vazio existente com o construtor mostrado abaixo:
IMPLEMENT_DYNCREATE(CMFC02View, CWinFormsView) CMFC02View::CMFC02View(): CWinFormsView(WindowsFormsControlLibrary1::UserControl1::typeid) { } BEGIN_MESSAGE_MAP(CMFC02View, CWinFormsView) //leave existing body as is END_MESSAGE_MAP()
Criar e executar o projeto.
Em Solution Explorer, o botão direito do mouse MFC02 e selecionar Set as StartUp Project.
No menu Build, clique em Build Solution.
Sobre o Debug menu, clique em Start without debugging.
Consulte também
Outros recursos
Hospedando um controle de usuário do Windows Forms como um modo de exibição do MFC