CWinFormsControl (clase)

Proporciona la funcionalidad básica para hospedar un control de formularios Windows Forms.

Sintaxis

template<class TManagedControl>
class CWinFormsControl : public CWnd

Parámetros

TManagedControl
Control de Windows Forms de .NET Framework que se mostrará en la aplicación MFC.

Miembros

Constructores públicos

Nombre Descripción
CWinFormsControl::CWinFormsControl Construye un objeto contenedor de control de MFC Windows Forms.

Métodos públicos

Nombre Descripción
CWinFormsControl::CreateManagedControl Crea un control Windows Forms en un contenedor MFC.
CWinFormsControl::GetControl Recupera un puntero al control de Windows Forms.
CWinFormsControl::GetControlHandle Recupera un manipulador del control de Windows Forms.

Operadores públicos

Nombre Descripción
CWinFormsControl::operator -> Reemplaza CWinFormsControl::GetControl en expresiones.
CWinFormsControl::operator TManagedControl^ Convierte un tipo como puntero a un control de Windows Forms.

Comentarios

La clase CWinFormsControl proporciona la funcionalidad básica para hospedar un control de formularios Windows Forms.

Para más información sobre el uso de Windows Forms, consulte Utilizar un control de usuario de Windows Forms en MFC.

El código MFC no debe almacenar en caché los manipuladores de ventana (normalmente almacenados en m_hWnd). Algunas propiedades de control de Windows Forms requieren que se destruya y vuelva a crear el valor Window subyacente de Win32 mediante los valores DestroyWindow y CreateWindow. La implementación de MFC Windows Forms controla los eventos Destroy y Create de los controles para actualizar el miembro m_hWnd.

Nota:

La integración de Windows Forms MFC solo funciona en proyectos que se vinculan dinámicamente con MFC (en los que se define AFXDLL).

Requisitos

Encabezado: afxwinforms.h

CWinFormsControl::CreateManagedControl

Crea un control Windows Forms en un contenedor 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
Tipo de datos del control que se va a crear. Debe ser un tipo de datos Type.

dwStyle
Estilo de ventana que se va a aplicar al control. Especifique una combinación de estilos de ventana. Actualmente, solo se admiten los siguientes estilos: WS_TABSTOP, WS_VISIBLE, WS_DISABLED y WS_GROUP.

rect
Estructura RECT que define las coordenadas de las esquinas superior izquierda e inferior derecha del control (solo la primera sobrecarga).

nPlaceHolderID
Manipulador del control de manipulador de posición estático colocado en el Editor de recursos. El control de Windows Forms recién creado reemplaza al control estático, suponiendo su posición, orden z y estilos (solo la segunda sobrecarga).

pParentWnd
Puntero a la ventana primaria.

Nid
Número de id. de recurso que se va a asignar al control recién creado.

pControl
Instancia de un control de Windows Forms que se va a asociar al objeto CWinFormsControl (solo la cuarta sobrecarga).

Valor devuelto

Si se ejecuta correctamente, devuelve un valor distinto de cero. Si no se realiza correctamente, devuelve cero.

Comentarios

Este método crea una instancia de un control de Windows Forms de .NET Framework en un contenedor de MFC.

La primera sobrecarga del método acepta un tipo de datos pType de .NET Framework para que MFC pueda crear una instancia de un nuevo objeto de este tipo. pType debe ser un tipo de datos Type.

La segunda sobrecarga del método crea un control de Windows Forms basado en el parámetro de plantilla TManagedControl de la clase CWinFormsControl. El tamaño y la posición del control se basan en la estructura RECT pasada al método. Para los estilos, solo importa dwStyle.

La tercera sobrecarga del método crea un control de Windows Forms que reemplaza un control estático, lo destruye y asume su posición, orden z y estilos. El control estático solo sirve como marcador de posición para el control de Windows Forms. Al crear el control, esta sobrecarga combina los estilos de dwStyle con los estilos de recursos del control estático.

La cuarta sobrecarga del método permite pasar un control pControl de Windows Forms ya instanciado que MFC ajustará. Debe ser del mismo tipo que el parámetro de plantilla TManagedControl de la clase CWinFormsControl.

Consulte Utilizar un control de usuario de Windows Forms en MFC para obtener ejemplos sobre el uso de controles de Windows Form.

CWinFormsControl::CWinFormsControl

Construye un objeto contenedor de control de MFC Windows Forms.

CWinFormsControl();

Comentarios

Al llamar a CWinFormsControl::CreateManagedControl, se crea una instancia del control de Windows Forms.

CWinFormsControl::GetControl

Recupera un puntero al control de Windows Forms.

inline TManagedControl^ GetControl() const;

Valor devuelto

Recupera un puntero al control de Windows Forms.

Ejemplo

Consulte CWinFormsControl::CreateManagedControl.

CWinFormsControl::GetControlHandle

Recupera un manipulador del control de Windows Forms.

inline HWND GetControlHandle() const;

Valor devuelto

Devuelve un manipulador al control de Windows Forms.

Comentarios

GetControlHandle es un método auxiliar que devuelve el manipulador de ventana almacenado en las propiedades del control de .NET Framework. El valor del manipulador de ventana se copia en CWnd::m_hWnd durante la llamada a CWnd::Attach.

CWinFormsControl::operator ->

Reemplaza CWinFormsControl::GetControl en expresiones.

inline TManagedControl^  operator->() const;

Comentarios

Este operador proporciona una sintaxis adecuada que reemplaza GetControl en las expresiones.

Para obtener más información sobre Windows Forms, consulte Utilizar un control de usuario de Windows Forms en MFC.

CWinFormsControl::operator TManagedControl^

Convierte un tipo como puntero a un control de Windows Forms.

inline operator TManagedControl^() const;

Comentarios

Este operador pasa CWinFormsControl<TManagedControl> a funciones que aceptan un puntero a un control de Windows Forms.

Consulte también

CWinFormsDialog (clase)
CWinFormsView (clase)