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.