Aracılığıyla paylaş


CWnd::CreateControl

mfc program tarafından temsil bir ActiveX denetimi oluşturmak için bu üye işlevi kullanmak bir CWnd nesnesi.

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

Parametreler

  • pszClass
    Bu dize "kısa adı" ole içerebilir (ProgID) sınıfının e.g., "CIRC3.Circ3Ctrl.1 ".Adı denetim tarafından kaydedilen aynı adla eşleşmesi gerekir.Alternatif olarak, string Dize biçiminde içerebilir bir CLSID, kaşlı ayraçlar içinde e.g., "{9DBAFCCF-592F-101B-85CE-00608CEC297B}".Her iki durumda da CreateControl için karşılık gelen sınıf kimliği dizesini bir sayıya dönüştürür

  • pszWindowName
    Denetimde görüntülenecek metni için bir işaretçi.Başlık veya metin denetimin özelliğinin değerini (varsa) ayarlar.null, denetimin başlık veya metin özelliği değişmez.

  • dwStyle
    Windows stilleri.Kullanılabilir stiller açıklamalar altında listelenir.

  • rect
    Denetimin boyutunu ve konumunu belirtir.Şunlardan biri olabilir bir CRect nesne veya bir rect yapısı.

  • ppt
    İşaret eden bir noktası yapısı veya CPoint denetimin sol üst köşesinde içeren nesne.

  • pSize
    İşaret eden bir BOYUTU yapısı veya CSize denetimin boyutunu içeren nesne

  • pParentWnd
    Denetimin üst pencere belirtir.Olmaması gereken null.

  • nID
    Denetimin kimliğini belirtir.

  • pPersist
    Bir işaretçi bir CFile denetimin durumunu sürekli içeren.Varsayılan değer null, denetimin kendisini herhangi bir kalıcı depolama ortamından durumuna geri yüklemeden başlatır olduğunu gösteren.Aksi takdirde null, bir işaretçi olması gereken bir CFile-türetilmiş bir akış veya bir depolama şeklinde denetimin kalıcı veri içeren nesne.Bu veriler istemcinin önceki bir etkinleştirme kaydedilmiş.CFile Diğer verileri içerebilir, ancak çağrısı anda ilk kalıcı veri baytı için set okuma-yazma işaretçisini olmalıdır CreateControl.

  • bStorage
    Gösterir olup olmadığını, veri pPersist IStorage veya IStream veri olarak yorumlanır.Veri pPersist bir depolama bStorage olması gereken doğru.Veri pPersist bir akış bStorage olması gereken yanlış.Varsayılan değer yanlış.

  • bstrLicKey
    İsteğe bağlı lisans anahtarı verileri.Bu veriler, yalnızca bir çalışma zamanı lisans anahtarı gerektiren denetimleri oluşturmak için gerekli değildir.Denetim Lisansı destekliyorsa, başarılı olması için denetimin oluşturulması için bir lisans anahtarı sağlamanız gerekir.Varsayılan değer null.

  • clsid
    Denetimin benzersiz sınıf kimliği.

Dönüş Değeri

Başarılı olursa sıfırdan farklı; Aksi halde 0.

Notlar

CreateControldoğrudan analog biri olan CWnd::Create için pencere oluşturur işlevi bir CWnd.CreateControlsıradan bir pencere yerine bir ActiveX denetimi oluşturur.

Yalnızca bir alt kümesini Windows dwStyle bayrakları için desteklenen CreateControl:

  • WS_VISIBLE başlangıçta görüntülenen bir pencere oluşturur.Denetimin hemen, sıradan windows gibi görünür olmasını istediğiniz durumda gereklidir.

  • WS_DISABLED başlangıçta devre dışı bir pencere oluşturur.Devre dışı bırakılmış bir pencere, kullanıcıdan giriş alamaz.Denetimin Enabled özelliği varsa ayarlanabilir.

  • WS_BORDERBir pencere ile ince çizgi kenarlık oluşturur.Denetimin kenarlık stili özellik varsa ayarlanabilir.

  • ws_group bir denetim grubu ilk denetimi belirtir.Kullanıcı klavye odağını grubunda bir denetimden diğerine yön tuşlarını kullanarak değiştirebilirsiniz.İle tanımlanan tüm denetimlerin ws_group ilk denetime ait sonra aynı grup için stil.Bir sonraki denetime sahip ws_group stil grubu sona erer ve bir sonraki grubun başlar.

  • ws_tabstop kullanıcı SEKME tuşuna bastığında, klavye odağı alabilen bir denetimi belirtir.SEKME tuşuna basarak bir sonraki denetime klavye odağını değiştirir ws_tabstop stili.

Örnek

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

Gereksinimler

Başlık: afxwin.h

Ayrıca bkz.

Başvuru

CWnd Sınıfı

Hiyerarşi grafik

Kavramlar

mfc ActiveX denetimleri