Compartilhar via


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çãoObservaçã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

  1. 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.

  2. 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.

  3. Em stdafx. h, adicione a seguinte linha:

    #using <System.Windows.Forms.dll>
    
  4. 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.

  5. Em stdafx. h, localize esta linha:

    #endif // _AFX_NO_AFXCMN_SUPPORT 
    

    Adicione essas linhas acima dela:

    #include <afxwinforms.h>   // MFC Windows Forms support
    
  6. 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.

  7. 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()
    
  8. 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