Condividi tramite


CWnd::CreateControl

Utilizzare questa funzione membro per creare un controllo ActiveX che verrà rappresentato nel programma MFC da un oggetto 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 
);

Parametri

  • pszClass
    Questa stringa può contenere OLE "nome breve" (ProgID) per la classe, ad esempio.., "CIRC3.Circ3Ctrl.1". Le necessità di nome corrisponda allo stesso nome registrato dal controllo. In alternativa, la stringa può contenere il formato della stringa CLSID, contenuto in parentesi graffe, ad..esempio, "{9DBAFCCF-592F-101B-85CE-00608CEC297B}". In entrambi i casi, CreateControl converte la stringa all'identificazione corrispondente della classe

  • pszWindowName
    Un puntatore al testo da visualizzare nel controllo. Imposta il valore della barra del titolo o della proprietà Text del controllo (se presente). Se NULL, la barra del titolo del controllo o la proprietà Text non viene modificato.

  • dwStyle
    Stili di Windows. Gli stili disponibili sono elencati in commenti.

  • rect
    Specifica la dimensione e la posizione del controllo. Può essere un oggetto CRect o una struttura RECT.

  • ppt
    I punti su QUESTION struttura o all'oggetto CPoint che contengono l'angolo superiore sinistro del controllo.

  • pSize
    I punti su DIMENSIONE struttura o all'oggetto CSize che contengono le dimensioni del controllo

  • pParentWnd
    Specifica la finestra padre del controllo. Non deve essere NULL.

  • nID
    Specifica l'id del controllo

  • pPersist
    Un puntatore a file C che contiene lo stato persistente per il controllo. Il valore predefinito è NULL, per indicare che il controllo viene inizializzato senza ripristinare lo stato da qualsiasi archivio permanente. Se non NULL, deve essere un puntatore a CFileoggetto derivato da che contiene dati persistenti del controllo, sotto forma di flusso o di archiviazione. Questi dati possono essere salvati di attivazione precedente del client. CFile può contenere altri dati, ma deve l'impostazione puntatore di lettura e scrittura al primo byte di dati persistenti al momento della chiamata a CreateControl.

  • bStorage
    Indica se i dati in pPersist devono essere interpretati come dati di IStream o di IStorage. Se i dati in pPersist sono un'archiviazione, bStorage deve essere TRUE. Se i dati in pPersist sono un flusso, bStorage deve essere FALSE. Il valore predefinito è FALSE.

  • bstrLicKey
    Dati facoltativi il codice di licenza. Di questi dati sono necessarie solo per creare controlli che richiedono una chiave di licenza runtime. Se il controllo supporta la licenza, è necessario specificare un codice di licenza per la creazione del controllo per gestire. Il valore predefinito è NULL.

  • clsid
    ID univoco della classe del controllo.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Note

CreateControl è un valore diretto della funzione CWnd::Create, che crea la finestra per CWnd. CreateControl crea un controllo ActiveX invece di una finestra comune.

Solo un sottoinsieme dei flag di Windows dwStyle è supportato per CreateControl:

  • WS_VISIBLE crea una finestra che inizialmente è visibile. Obbligatorio se si desidera che il controllo sia visibile immediatamente, come le normali finestre.

  • WS_DISABLED crea una finestra che inizialmente è disabilitata. Una finestra disattivata non può ricevere l'input dall'utente. È possibile impostare se il controllo ha una proprietà attivata.

  • WS_BORDER crea una finestra con un bordo di sottile- riga. È possibile impostare se il controllo ha una proprietà di BorderStyle.

  • WS_GROUP specifica il primo controllo di un gruppo di controlli. L'utente può modificare lo stato attivo da un controllo nel gruppo a l utilizzando i tasti di direzione. Tutti i controlli definiti con lo stile WS_GROUP dopo il primo controllo appartengono allo stesso gruppo. Il controllo successivo alla fine dello stile WS_GROUP il gruppo e avvia il gruppo successivo.

  • WS_TABSTOP specifica di un controllo che può ricevere lo stato attivo quando l'utente preme il tasto TAB. Premere le modifiche di tasto TAB lo stato attivo al controllo successivo dello stile WS_TABSTOP.

Esempio

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...

Requisiti

Header: afxwin.h

Vedere anche

Riferimenti

Classe CWnd

Grafico delle gerarchie

Concetti

Controlli ActiveX MFC