Compartir a través de


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 clase

  • pszWindowName
    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 control

  • pParentWnd
    Especifica la ventana principal del control.no debe ser NULL.

  • nID
    Especifica el identificador de control

  • pPersist
    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

Vea también

Referencia

Clase de CWnd

Gráfico de jerarquía

Conceptos

Controles ActiveX de MFC