BOOL AFXAPI AfxOleRegisterControlClass (wystąpienie HINSTANCE wystąpienie hInstance, REFCLSID clsid, LPCTSTR pszProgID, UINT idTypeName, UINT idBitmap, int nRegFlags, DWORD dwMiscStatus, REFGUID tlid, słowo wVerMajor, program WORD wVerMinor );
# include lt;afxctl.h>
Wartość zwracany
Niezerowa, jeśli klasa formant został zarejestrowany; inny sposób 0.
Parametry
wystąpienie hInstance
Uchwyt wystąpienia modułu skojarzonych z klasą, kontroli.
identyfikator clsid
Klasy unikatowy identyfikator formantu.
pszProgID
Identyfikator unikatowy programu kontroli.
idTypeName
Identyfikator zasobu ciąg znaków, który zawiera czytelny dla użytkownika wpisz nazwę dla formantu.
idBitmap
Identyfikator zasobu bitmapy używany do reprezentowania formant OLE na pasku narzędzi lub palety.
nRegFlags
Zawiera jeden lub więcej z następujących flag:
Uwaga W wersjach MFC przed MFC 4.2 parametrnRegFlags intzostał parametr BOOL , bInsertable, że dozwolone lub niedozwolone formantu ma być wstawiony w oknie dialogowym Wstaw obiekt .
dwMiscStatus
Zawiera jeden lub więcej z następujących flag stanu (na opis flagi, patrz OLEMISC wyliczenie w OLE Programmer's Reference):
tlid
Unikatowy identyfikator klasy kontroli.
wVerMajor
Numer wersji głównej klasy kontroli.
wVerMinor
Wersja pomocnicza liczba klasy kontroli.
Uwagi
Rejestry klasy kontroli z bazy danych rejestracji systemu Windows. Umożliwia sterowanie używane przez pojemniki, które są OLE-kontroli. AfxOleRegisterControlClass aktualizuje rejestr do kontroli nazwy i lokalizacji w systemie, a także określa model wątka, że formant obsługuje w rejestrze. Aby uzyskać więcej informacji, zobacz technicznych 64 Uwaga, "Apartment-Model wątków w OLE kontroli" i o procesów i wątków w zestawie SDK Win32.
Przykład
/ / Realizacji funkcji członek klasy COleObjectFactory::UpdateRegistry / /
BOOL CMyApartmentAwareCtrl::CApartmentCtrlFactory::UpdateRegistry(BOOL bRegister)
{
/ / TODO: Zweryfikuj, że jeśli formant następuje / / Apartament modelu wątków zasady.
/ / Odnoszą się do MFC Tech&Note 64, aby uzyskać więcej informacji.
/ / Jeżeli formantu nie jest zgodna z / / model Apartament zasady, możesz zmodyfikować
/ / kod poniżej, zmiana parametr 6 z
/ / afxRegInsertable | afxRegApartmentThreading do
/ / afxRegInsertable.
nbsp; Jeżeli (bZarejestruj)
Powrót AfxOleRegisterControlClass()
AfxGetInstanceHandle(),
m_clsid,
m_lpszProgID,
IDS_APARTMENT,
IDB_APARTMENT,
afxRegInsertable | afxRegApartmentThreading,
_dwApartmentOleMisc,
_tlid,
_wVerMajor,
_wVerMinor);
Else
Zwraca AfxOleUnregisterClass (m_clsid, m_lpszProgID)
Powyższy przykład pokazuje jak AfxOleRegisterControlClass jest wywoływana z flagą dla wstawiony i Flaga komórkowy model istotną razem do utworzenia parametr szósty:
afxRegInsertable | afxRegApartmentThreading
Formant będzie widoczny w oknie dialogowym Wstaw obiekt włączone pojemników, i będzie Apartament pamiętać modelu. Apartament pamiętać modelu kontroli musi zapewnić tej klasy statyczne, które dane są chronione przez blokad, tak, aby podczas kontrola w jeden apartament uzyskuje dostęp do danych statycznych, nie jest ona wyłączona przez harmonogram przed zakończeniem i inne wystąpienie tej samej klasy rozpoczyna się, używanie tych samych danych statycznych. Wszelkie dostęp do danych statycznych zostanie otoczony przez sekcję krytyczną kodu.
Zobacz też AfxOleRegisterPropertyPageClass, AfxOleRegisterTypeLib, AfxOleUnregisterClass, AfxOleUnregisterTypeLib