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