Udostępnij za pośrednictwem


CWnd::CreateControl

Ta funkcja Członkowskich służy do tworzenia formantu ActiveX, który będzie reprezentowana w programie MFC przez CWnd obiektu.

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
);

Parametry

  • pszClass
    Ten ciąg może zawierać OLE "Krótka nazwa" (ProgID) dla klasy, e.g., "CIRC3.Circ3Ctrl.1 ".Nazwa musi odpowiadać tej samej nazwy zarejestrowane przez formant.Alternatywnie, ciąg może zawierać ciągu postaci CLSID, zawarte w nawiasach klamrowych, e.g., "{9DBAFCCF-592F-101B-85CE-00608CEC297B}".W każdym przypadku CreateControl konwertuje ciąg na odpowiedni identyfikator klasy.

  • pszWindowName
    Wskaźnik tekst wyświetlany w formancie.Ustawia wartość właściwości podpisu lub tekstu formantu (jeśli ma zastosowanie).Jeśli NULL, właściwość formantu podpis lub tekst nie zostaje zmieniony.

  • dwStyle
    Style Windows.Dostępne style są wymienione pod uwagi.

  • rect
    Określa rozmiar i położenie formantu.Mogą być albo CRect obiektu lub RECT struktury.

  • ppt
    Wskazuje na punkt struktury lub CPoint obiekt, który zawiera w lewym górnym rogu formantu.

  • pSize
    Wskazuje na rozmiar struktury lub CSize obiekt, który zawiera rozmiar formantu

  • pParentWnd
    Określa formant okno nadrzędne.Nie wolno NULL.

  • nID
    Określa identyfikator formantu.

  • pPersist
    Wskaźnik do CFile zawierających trwały stan formantu.Wartością domyślną jest NULL, wskazując, że formant inicjuje sama bez przywrócenia stanu z dowolnego trwałego magazynu.Jeśli nie NULL, powinno być wskaźnik do CFile-uzyskane obiekt zawierający trwałe dane z formantu w formularzu strumienia lub magazynowania.Dane można zapisane w poprzednim aktywacji klienta.CFile Może zawierać inne dane, ale musi mieć wskaźnik jego odczytu i zapisu, ustaw pierwszy bajt danych trwałych w momencie wywołania CreateControl.

  • bStorage
    Wskazuje, czy dane w pPersist powinny być interpretowane jako dane IStorage lub IStream.Jeśli dane w pPersist jest magazyn, bStorage powinien być TRUE.Jeśli dane w pPersist jest strumień, bStorage powinien być FALSE.Wartością domyślną jest FALSE.

  • bstrLicKey
    Opcjonalne dane klucza licencji.Dane potrzebne jest tylko w przypadku tworzenia formantów, które wymagają klucza licencji run-time.Jeśli formant obsługuje licencjonowania, należy podać klucz licencji dla utworzenia formantu powiodła się.Wartością domyślną jest NULL.

  • clsid
    Klasa unikatowy identyfikator formantu.

Wartość zwracana

Niezerowa, jeśli kończy się pomyślnie; 0 inaczej.

Uwagi

CreateControljest bezpośrednie analogowo z CWnd::Create funkcji, która tworzy okno dla CWnd.CreateControlTworzy formant ActiveX, a nie zwykłym oknie.

Podzbiór Windows dwStyle flagi są obsługiwane dla CreateControl:

  • WS_VISIBLE tworzy okno początkowo widoczny.Wymagane, jeśli widoczne natychmiast, jak zwykłe okna formantu.

  • WS_DISABLED tworzy okno, która początkowo jest wyłączona.Wyłączone okno nie mogą odbierać danych wejściowych od użytkownika.Można ustawić, jeśli formant ma właściwość Enabled.

  • WS_BORDERTworzy okno z obramowaniem cienki linii.Można ustawić, jeśli formant ma Właociwooć BorderStyle.

  • WS_GROUP Określa pierwszy formant grupy formantów.Użytkownik może zmienić fokus klawiatury z jednego formantu w grupie do następnego przy użyciu klawiszy kierunkowych.Wszystkie formanty zdefiniowana z WS_GROUP styl po pierwszej kontroli należą do tej samej grupy.Następny formant z WS_GROUP styl kończy grupy i rozpoczyna następną grupę.

  • WS_TABSTOP Określa formant może otrzymać fokus klawiatury, gdy użytkownik naciśnie klawisz TAB.Naciśnięcie klawisza TAB zmienia fokusu klawiatury do następnego formantu z WS_TABSTOP styl.

Przykład

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

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CWnd

Wykres hierarchii

Koncepcje

Formanty ActiveX MFC