Compartilhar via


Windows Forms/diferenças de programação MFC

Os tópicos em Usar um controle de usuário do Windows Forms no MFC descrevem o suporte do MFC para Windows Forms. Se você não estiver familiarizado com .NET Framework ou programação MFC, este tópico fornecerá informações em segundo plano sobre diferenças de programação entre os dois.

O Windows Forms é destinado à criação de aplicativos do Microsoft Windows no .NET Framework. Essa estrutura fornece um conjunto de classes moderno, orientado a objetos e extensível que permitem desenvolver aplicativos avançados baseados no Windows. Com o Windows Forms, você pode criar um aplicativo cliente avançado que pode acessar uma ampla variedade de fontes de dados e fornecer instalações de exibição de dados e edição de dados usando controles do Windows Forms.

No entanto, se você estiver acostumado com o MFC, poderá usá-lo para criar determinados tipos de aplicativos que ainda não são explicitamente compatíveis com o Windows Forms. Os aplicativos Windows Forms são equivalentes a aplicativos de diálogo do MFC. No entanto, eles não fornecem a infraestrutura para dar suporte diretamente a outros tipos de aplicativo do MFC, como servidor/contêiner de documentos OLE, documentos ActiveX, suporte a Documentos/Exibição para SDI (interface de documento único), MDI (interface de vários documentos) e MTI (interface com várias janelas de nível superior). Você pode escrever sua própria lógica para criar esses aplicativos.

Para saber mais sobre aplicativos do Windows Forms, confira Introdução ao Windows Forms.

Os seguintes recursos de roteamento de comandos e documentos ou exibições do MFC não têm equivalentes no Windows Forms:

  • Integração do shell

    O MFC manipula os comandos de DDE (troca dinâmica de dados) e os argumentos de linha de comando que o shell usa quando você clica com o botão direito do mouse em um documento e seleciona verbos como Abrir, Editar ou Imprimir. O Windows Forms não tem integração de shell e não responde a verbos de shell.

  • Modelos de documento

    No MFC, os modelos de documento associam uma exibição, que está contida em uma janela de quadro (no modo MDI, SDI ou MTI), com o documento que você abriu. O Windows Forms não tem equivalente a modelos de documento.

  • Documentos

    O MFC registra tipos de arquivo de documento e processa o tipo de documento ao abrir um documento do shell. O Windows Forms não dá suporte a documentos.

  • Estados de documento

    O MFC mantém estados sujos para o documento. Portanto, quando você fecha o aplicativo, fecha a última exibição que contém o aplicativo ou sai do Windows, o MFC solicita que você salve o documento. O Windows Forms não tem suporte equivalente.

  • Comandos

    O MFC tem o conceito de comandos. A barra de menus, a barra de ferramentas e o menu de contexto podem todos invocar o mesmo comando, por exemplo, Recortar e Copiar. No Windows Forms, os comandos são eventos fortemente associados de um determinado elemento de interface do usuário (como um item de menu); portanto, você precisa conectar todos os eventos de comando explicitamente. Você também pode lidar com vários eventos com apenas um manipulador no Windows Forms. Para obter mais informações, confira Como conectar vários eventos a apenas um manipulador de eventos nos Windows Forms.

  • Roteamento de comando

    O roteamento de comandos do MFC permite que o documento ou exibição ativa processe comandos. Como o mesmo comando geralmente tem significados diferentes para exibições diferentes (por exemplo, Copiar se comporta de maneira diferente na exibição de edição de texto do que em um editor gráfico), os comandos precisam ser manipulados pela exibição ativa. Como os menus e barras de ferramentas do Windows Forms não têm nenhuma compreensão inerente da exibição ativa, você não pode ter um manipulador diferente para cada tipo de exibição para seus eventos MenuItem.Click sem escrever código interno adicional.

  • Mecanismo de atualização de comandos

    O MFC tem um mecanismo de atualização de comandos. Portanto, o documento ou exibição ativa é responsável pelo estado dos elementos da interface do usuário (por exemplo, habilitando ou desabilitando um item de menu ou botão de ferramenta e estados verificados). O Windows Forms não tem um equivalente para um mecanismo de atualização de comando.

Confira também

Usar um controle de usuário do Windows Forms no MFC