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ürpszWindowName
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 nesnepParentWnd
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