Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.