CWnd::CreateControl
Utilice esta función miembro para crear un control ActiveX que se representa en el programa MFC por un objeto de CWnd .
BOOL CreateControl(
LPCTSTR pszClass,
LPCTSTR pszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL
);
BOOL CreateControl(
REFCLSID clsid,
LPCTSTR pszWindowName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL
);
BOOL CreateControl(
REFCLSID clsid,
LPCTSTR pszWindowName,
DWORD dwStyle,
const POINT* ppt,
const SIZE* psize,
CWnd* pParentWnd,
UINT nID,
CFile* pPersist = NULL,
BOOL bStorage = FALSE,
BSTR bstrLicKey = NULL
);
Parámetros
pszClass
Esta cadena puede contener el “nombre corto OLE” (ProgID) de la clase, eg..., “CIRC3.Circ3Ctrl.1”.El nombre debe coincidir con el mismo nombre registrado por el control.Como alternativa, la cadena puede contener el formato de cadena de CLSID, contenido entre llaves, eg..., “{9DBAFCCF-592F-101B-85CE-00608CEC297B}”.en cualquier caso, CreateControl convierte la cadena a la identificación correspondiente de la clasepszWindowName
Un puntero al texto que se mostrará en el control.Establece el valor de leyenda o la propiedad text (si existe).Si NULL, la leyenda del control o la propiedad de texto no cambia.dwStyle
estilos de Windows.Los estilos disponibles se muestran en notas.rect
Especifica el tamaño y la posición del control.puede ser un objeto de CRect o una estructura de RECT .ppt
Señala una estructura de puntos o un objeto de CPoint que contiene la esquina superior izquierda del control.pSize
Señala una estructura de CALIBRE o un objeto de CSize que contiene el tamaño del controlpParentWnd
Especifica la ventana principal del control.no debe ser NULL.nID
Especifica el identificador de controlpPersist
Un puntero a Archivo C que contiene el estado persistente para el control.El valor predeterminado es NULL, que indica que el control se inicializa por sí mismo sin restaurar el estado de cualquier almacenamiento persistente.Si no NULL, debe ser un puntero a CFile- el objeto derivado que contiene datos persistentes de control, en forma de secuencia o almacenamiento.Estos datos podría haberse guardar en una activación anterior del cliente.CFile puede contener otros datos, pero debe hacer el puntero de lectura y escritura establecer el primer byte de datos persistentes en el momento de la llamada a CreateControl.bStorage
indica si los datos en pPersist se deben interpretar como datos de IStorage o de IStream.Si los datos de pPersist es un almacén, bStorage debe ser TRUE.Si los datos de pPersist es una secuencia, bStorage debe ser FALSO.el valor predeterminado es FALSO.bstrLicKey
Datos opcionales de la clave de licencia.Estos datos se sólo necesita para crear controles que requieren una clave de licencia en tiempo de ejecución.Si el control admite la autorización, debe proporcionar una clave de licencia para la creación de controles para funcionar correctamente.el valor predeterminado es NULL.clsid
Identificador único de la clase del control.
Valor devuelto
Distinto de cero si correctamente; si no 0.
Comentarios
CreateControl es un análogo directo de la función de CWnd:: Crear , que crea la ventana para CWnd.CreateControl crea un control ActiveX en lugar de una ventana normal.
Sólo un subconjunto de los indicadores de Windows dwStyle se admite para CreateControl:
WS_VISIBLE crea una ventana que se muestra inicialmente.Se requiere si desea que el control sea visible inmediatamente, como las ventanas normales.
WS_DISABLED crea una ventana que se deshabilite inicialmente.Una ventana deshabilitado no puede recibir datos proporcionados por el usuario.Puede establecerse en si el control tiene una propiedad enabled.
WS_BORDER crea una ventana con un borde de la fino-línea.Puede establecerse en si el control tiene una propiedad BorderStyle.
WS_GROUP especifica el primer control de un grupo de controles.El usuario puede cambiar el foco de teclado en un control del grupo al siguiente con las teclas de dirección.Todo controla definido con el estilo de SE después del primer control pertenece al mismo grupo.El control siguiente con el estilo de SE finaliza el grupo e inicie el grupo siguiente.
WS_TABSTOP especifica un control que puede recibir el foco de teclado cuando el usuario presiona la tecla TABULADOR.Presione los cambios de tecla TAB el foco de teclado al siguiente control de estilo de WS_TABSTOP .
Ejemplo
class CGenocx : public CWnd
{
protected:
DECLARE_DYNCREATE(CGenocx)
public:
CLSID const& GetClsid()
{
static CLSID const clsid
= { 0x20DD1B9E, 0x87C4, 0x11D1, { 0x8B, 0xE3, 0x0, 0x0, 0xF8, 0x75, 0x4D, 0xA1 } };
return clsid;
}
// This code is generated by the Control Wizard.
// It wraps the call to CreateControl in the call to Create.
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle,
const RECT& rect, CWnd* pParentWnd, UINT nID,
CCreateContext* pContext = NULL)
{
UNREFERENCED_PARAMETER(pContext);
UNREFERENCED_PARAMETER(lpszClassName);
return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID);
}
// remainder of class declaration omitted...
Requisitos
encabezado: afxwin.h