Compartilhar via


Como: Criar o controle de usuário e host em uma caixa de diálogo

O procedimento neste tópico presume que você está criando um novo com base em caixa de diálogo (Classe CDialogProjeto) MFC, mas você também pode adicionar suporte para um controle do Windows formulário para uma caixa de diálogo MFC existente.

Para criar o controle de usuário do .NET

  1. criar um novo projeto de Visual Windows controle biblioteca translation from VPE for Csharp chamado WindowscontroleLibrary1.

    From a Arquivo menu, selecionar Novo, then Projeto.No Translation from VPE for Csharp Visual pasta, selecionar o Biblioteca de controle do Windows ícone.

    Aceite o nome de projeto padrão de WindowsControlLibrary1 clicando em OK.

    O nome padrão do controle .NET será UserControl1.

  2. Adicionar controles filho a UserControl1.

    In Caixa de ferramentas, em aberto the Todos os Windows Forms lista.arrastar um controle de botão para a área de design UserControl1.

    Também adicione um controle TextBox.

  3. alterar as declarações da TextBox e botão para o público em particular no arquivo UserControl1.Designer.cs.

  4. Crie o projeto.

    From a Compilação menu, clicar Criar solução.

    Convém observar o caminho completo com nome de arquivo da DLL gerado no log de compilação, pois você digitará as informações no aplicativo MFC.

Para criar o aplicativo host do MFC

  1. criar um novo projeto MFC aplicativo.

    From a Arquivo menu, selecionar Novo, then Projeto.No O Visual C++ pasta, selecionar o Aplicativo MFC ícone.

    No Nome , digite MFC01. Alterar a configuração de solução para Adicionar à solução.Clique em OK.The MFC aplicativo assistente aparece.

    No MFC Application assistente, selecionar o tipo de aplicativo.escolher Caixa de diálogo com base em.Aceite os padrões restantes e clicar Concluir.Isso criará um aplicativo MFC com uma caixa de diálogo do MFC.

  2. Adicione um controle de espaço reservado para a caixa de diálogo do MFC.

    clicar no Modo de exibição de recurso guia.No modo de exibição de recurso, clicar duas vezes em IDD_MFC01_DIALOG. O recurso de caixa de diálogo aparece no Editor de recursos.

    In Caixa de ferramentas, em aberto the Editor de diálogo lista.arrastar um controle de texto estático para o recurso de caixa de diálogo.O controle de texto estático servirá sistema autônomo um espaço reservado para o controle do .NET Windows Forms.Aproximadamente o dimensionar do controle Windows Forms, redimensioná-la.

    Altere a ID do controle de texto estático para IDC_CTRL1 no Propriedades janela e altere o TabStop propriedade True.

  3. configurar o projeto.

    In O gerenciador de soluções, clicar com o botão direito do mouse o MFC01 nó do projeto e selecionar Propriedades no menu de contexto.The Páginas de propriedades caixa de diálogo é exibida.

    No Páginas de propriedades caixa de diálogo, no Propriedades de configuração controle de árvore, selecionar Geral, em seguida, no Padrões de projeto seção, conjunto Suporte a Common linguagem tempo de execução to Suporte a Common linguagem tempo de execução (/ clr).Clique em OK.

  4. Adicione uma referência ao controle .NET.

    In O gerenciador de soluções, clicar com o botão direito do mouse o MFC01 nó do projeto e selecionar Referências.No página de propriedades, clicar Adicionar nova referência, selecionar WindowsControlLibrary1 (sob o Projetos guia) e clicar OK.Isso adiciona uma referência na forma de um /FU compilador opção para que o programa será compilado; também copia WindowsControlLibrary1.dll no MFC01 diretório de projeto para que o programa seja 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. Adicione código para criar o controle gerenciado.

    Primeiro, declare o controle gerenciado.No MFC01Dlg.h, vá para a declaração de clsistema autônomos diálogo e adicionar um membro de dados para o controle de usuário no escopo protegido sistema autônomo segue:

    class CMFC01Dlg : public CDialog
    {
       // ...
       // Data member for the .NET User Control:
       CWinFormsControl<WindowsControlLibrary1::UserControl1> m_ctrl1;
    

    Em seguida, fornecer uma implementação para o controle gerenciado.Em MFC01Dlg.cpp na substituir de caixa de diálogo de CMFC01Dlg::DoDataExchange gerado pelo assistente aplicativo MFC (não CAboutDlg::DoDataExchangeque está no mesmo arquivo), adicione o seguinte código para criar o controle gerenciado e associá-lo com o espaço estático reservado IDC_CTRL1:

    void CMFC01Dlg::DoDataExchange(CDataExchange* pDX)
    {
       CDialog::DoDataExchange(pDX);
       DDX_ManagedControl(pDX, IDC_CTRL1, m_ctrl1);
    }
    
  7. Criar e executar o projeto.

    In O gerenciador de soluções, clicar com o botão direito do mouse MFC01 e selecionar conjunto sistema autônomo projeto de inicialização.

    From a Compilação menu, clicar Criar solução.

    From a Depurar menu, clicar Iniciar sem depuração.Agora você verá a caixa de diálogo MFC exibindo o controle do Windows formulário.

Consulte também

Outros recursos

Hospedagem de um controle de usuário do Windows formulário em uma caixa de diálogo do MFC