Partilhar via


Como: Criar o modo de exibição de controle de usuário e o Host MDI

As etapas a seguir mostram como criar um.Controle de usuário do NET Framework, autor do controle de usuário em uma biblioteca de classe de controle (especificamente, um projeto de biblioteca de controle do Windows) e, em seguida, compile o projeto em um assembly. O controle pode ser consumido de um aplicativo MFC que usa as classes derivadas de CView Class e CWinFormsView Class.

Para obter informações sobre como criar um controle de usuário do Windows Forms e autor de uma biblioteca de classe de controle, consulte como: Criar controles de usuário.

ObservaçãoObservação

Em alguns casos, os controles Windows Forms, como, por exemplo, um controle de grade de terceiros, talvez não se comportar confiável quando hospedado em um aplicativo MFC. Uma solução alternativa recomendada é colocar um controle de usuário do Windows Forms no aplicativo MFC e colocar o controle de grade de terceiros dentro do controle de usuário.

Este procedimento considera que você criou um projeto de biblioteca de controles de formulários do Windows chamado WindowsFormsControlLibrary1, conforme o procedimento em 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 MFC.

    Sobre o arquivo menu, selecione novae, em seguida, clique em projeto. No Visual C++ pasta, selecione Aplicativo MFC.

    No nome , digite MFC02 e alterar 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 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 Property Pages caixa de diálogo aparece.

    Em Propriedades de configuração, selecione Geral. Sob o Padrões de projeto seção, defina suporte a Common Language Runtime para suporte de Runtime de linguagem comum (/ clr).

    Em Propriedades de configuração, expanda C/C++ e clique no Geral nó. Definir formato de informações de depuração para banco de dados do programa (/Zi).

    Clique na A geração de código nó. Definir Ativar mínimo reconstruir para não (/ Gm-). Também definir Básica Runtime verifica para padrão.

    Clique em OK para aplicar as alterações.

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

    #using <System.Windows.Forms.dll>
    
  4. Adicionar uma referência para o.Controle de rede.

    Em Solution Explorer, com o botão direito do MFC02 select e o nó do projeto referências. No Página de propriedades, clique em Adicionar nova referência de, 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 na MFC02 diretório de projeto para que o programa será executado.

  5. Em stdafx. h, encontre 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.

    No MFC02View.h, substitua CView com CWinFormsView para que o código aparece da seguinte maneira:

    class CMFC02View : public CWinFormsView
    {
    };
    

    Se você quiser adicionar exibições adicionais ao seu aplicativo MDI, você precisará chamar CWinApp::AddDocTemplate para cada modo de exibição que você criar.

  7. Modifique o arquivo MFC02View.cpp CView para CWinFormsView no mapa de macro e a mensagem de IMPLEMENT_DYNCREATE e substitua 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. Build and run the project.

    Em Solution Explorer, MFC02 com o botão direito e selecione Set as StartUp Project.

    Sobre o Build menu, clique em Build Solution.

    Sobre o Debug menu, clique em Start without debugging.

Consulte também

Outros recursos

Que hospeda um controle de usuário do Windows Forms, como um modo de exibição do MFC