Partilhar via


Classe CWinFormsControl

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Fornece a funcionalidade básica para hospedagem de um controlo Windows Forms (Windows Forms Controller).

Sintaxe

template<class TManagedControl>
class CWinFormsControl : public CWnd

Parâmetros

TManagedControl
Um controlo Windows Forms do .NET Framework para ser exibido na aplicação MFC.

Membros

Construtores Públicos

Nome Description
CWinFormsControl::CWinFormsControl Constrói um objeto wrapper de controlo MFC Windows Forms.

Métodos Públicos

Nome Description
CWinFormsControl::CreateManagedControl Cria um controlo Windows Forms num contentor MFC.
CWinFormsControl::GetControl Recupera um ponteiro para o controlo Windows Forms.
CWinFormsControl::GetControlHandle Recupera um handle para o controlo Windows Forms.

Operadores Públicos

Nome Description
CWinFormsControl::operator -> Substitui CWinFormsControl::GetControl nas expressões.
CWinFormsControl::operator TManagedControl^ Projeta um tipo como apontador para um controlo do Windows Forms.

Observações

A CWinFormsControl classe fornece a funcionalidade básica para alojar um controlo Windows Forms.

Para mais informações sobre o uso do Windows Forms, consulte Usar um Controlo de Utilizador do Windows Form no MFC.

O seu código MFC não deve armazenar em cache os controladores de janelas (normalmente armazenados em m_hWnd). Algumas propriedades de controlo do Windows Forms exigem que o Win32 Window subjacente seja destruído e recriado usando DestroyWindow e CreateWindow. A implementação do Windows Forms do MFC trata dos Destroy eventos e Create dos controlos para atualizar o m_hWnd membro.

Observação

A integração com o Windows Forms do MFC funciona apenas em projetos que se ligam dinamicamente ao MFC (onde o AFXDLL está definido).

Requerimentos

Cabeçalho: afxwinforms.h

CWinFormsControl::CreateManagedControl

Cria um controlo Windows Forms num contentor MFC.

inline BOOL CreateManagedControl(
    System::Type^ pType,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    int nID)
inline BOOL CreateManagedControl(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    int nID);

inline BOOL CreateManagedControl(
    DWORD dwStyle,
    int nPlaceHolderID,
    CWnd* pParentWnd);

inline BOOL CreateManagedControl(
    typename TManagedControl^ pControl,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    int nID);

Parâmetros

pType
O tipo de dado do controlo a ser criado. Deve ser um tipo de dado Tipo .

dwStyle
O estilo da janela para aplicar ao controlo. Especifique uma combinação de estilos de janela. Atualmente, apenas os seguintes estilos são suportados: WS_TABSTOP, WS_VISIBLE, WS_DISABLED e WS_GROUP.

retângulo
Uma Estrutura RECT que define as coordenadas dos cantos superior esquerdo e inferior direito do controlo (apenas na primeira sobrecarga).

nPlaceHolderID
O controlo do marcador estático colocado no Editor de Recursos. O controlo recém-criado do Windows Forms substitui o controlo estático, assumindo a sua posição, ordem z e estilos (apenas segunda sobrecarga).

pParentWnd
Um apontador para a janela principal.

nID
O número de ID do recurso a ser atribuído ao controlo recém-criado.

pControl
Uma instância de um controlo Windows Forms para ser associada ao objeto CWinFormsControl (apenas quarta sobrecarga).

Valor de retorno

Se for bem-sucedido, devolve um valor não nulo. Se não for bem-sucedido, retorna zero.

Observações

Este método instancia um controlo Windows Forms do .NET Framework num contentor MFC.

A primeira sobrecarga do método aceita um tipo de dado do .NET Framework pType para que o MFC possa instanciar um novo objeto deste tipo. pType deve ser um tipo de dado Type .

A segunda sobrecarga do método cria um controlo Windows Forms baseado no TManagedControl parâmetro template da CWinFormsControl classe. O tamanho e a posição do controlo baseiam-se na RECT estrutura passada ao método. Só o dwStyle importa para os estilos.

A terceira sobrecarga do método cria um controlo Windows Forms que substitui um controlo estático, destruindo-o e assumindo a sua posição, ordem z e estilos. O controlo estático serve apenas como um marcador para o controlo Windows Forms. Ao criar o controlo, esta sobrecarga combina os estilos do dwStyle com os estilos de recursos do controlo estático.

A quarta sobrecarga do método permite-te passar um controlo de Windows Forms já instanciado, pControl , que o MFC irá envolver. Deve ser do mesmo tipo que o TManagedControl parâmetro modelo da CWinFormsControl classe.

Veja Usar um Controlo de Utilizador de Windows Form em MFC para exemplos sobre o uso de controlos Windows Form.

CWinFormsControl::CWinFormsControl

Constrói um objeto wrapper de controlo MFC Windows Forms.

CWinFormsControl();

Observações

O controlo do Windows Forms é instanciado quando chama CWinFormsControl::CreateManagedControl.

CWinFormsControl::GetControl

Recupera um ponteiro para o controlo Windows Forms.

inline TManagedControl^ GetControl() const;

Valor de retorno

Devolve um ponteiro para o controlo Windows Forms.

Example

Veja CWinFormsControl::CreateManagedControl.

CWinFormsControl::GetControlHandle

Recupera um handle para o controlo Windows Forms.

inline HWND GetControlHandle() const;

Valor de retorno

Devolve um handle ao controlo Windows Forms.

Observações

GetControlHandle é um método auxiliar que devolve o handle da janela armazenado nas propriedades de controlo do .NET Framework. O valor do handle da janela é copiado para CWnd::m_hWnd durante a chamada para CWnd::Attach.

CWinFormsControl::operator ->

Substitui CWinFormsControl::GetControl nas expressões.

inline TManagedControl^  operator->() const;

Observações

Este operador fornece uma sintaxe conveniente que substitui GetControl expressões.

Para mais informações sobre o Windows Forms, consulte Utilização de um Controlo de Utilizador Windows Form no MFC.

CWinFormsControl::operator TManagedControl^

Projeta um tipo como apontador para um controlo do Windows Forms.

inline operator TManagedControl^() const;

Observações

Este operador passa CWinFormsControl<TManagedControl> para funções que aceitam um ponteiro para um controlo do Windows Forms.

Consulte também

Classe CWinFormsDialog
Classe CWinFormsView