Udostępnij za pośrednictwem


AfxOleRegisterControlClass

Rejestruje Klasa sterowania z bazy danych rejestracji systemu Windows.

BOOL AFXAPI AfxOleRegisterControlClass( 
   HINSTANCE hInstance, 
   REFCLSID clsid, 
   LPCTSTR pszProgID, 
   UINT idTypeName, 
   UINT idBitmap, 
   int nRegFlags, 
   DWORD dwMiscStatus, 
   REFGUID tlid, 
   WORD wVerMajor, 
   WORD wVerMinor  
);

Parametry

  • hInstance
    Dojście wystąpienia modułu skojarzone z klasą kontroli.

  • clsid
    Klasa Unikatowy identyfikator formantu.

  • pszProgID
    Unikatowy identyfikator formantu.

  • idTypeName
    Identyfikator zasobu ciąg, który zawiera nazwę typu czytelny dla użytkownika dla formantu.

  • idBitmap
    Identyfikator zasobu mapa bitowa jest używany do reprezentowania formant OLE w pasku narzędzi lub palety.

  • nRegFlags
    Zawiera jeden lub więcej z następujących flag:

    • afxRegInsertableUmożliwia sterowanie do stawienia się w oknie dialogowym Wstaw obiekt obiekty OLE.

    • afxRegApartmentThreadingUstawia model wątka w rejestrze, aby ThreadingModel = mieszkania.

    • afxRegFreeThreadingUstawia model wątka w rejestrze, aby ThreadingModel = wolny.

      Można połączyć dwie flagi afxRegApartmentThreading i afxRegFreeThreading Aby ustawić ThreadingModel = zarówno.Zobacz InprocServer32 w Windows SDK uzyskać więcej informacji dotyczących rejestracji model wątków.

    [!UWAGA]

    W wersjach MFC przed MFC 4.2 intnRegFlags parametr był BOOL parametru, bInsertable, że dozwolone lub niedozwolone sterowania do wstawienia w oknie dialogowym Wstaw obiekt. 

  • dwMiscStatus
    Zawiera jeden lub więcej z następujących flag stanu (opis flag, zobacz OLEMISC wyliczenie w Windows SDK):

    • OLEMISC_RECOMPOSEONRESIZE

    • OLEMISC_ONLYICONIC

    • OLEMISC_INSERTNOTREPLACE

    • OLEMISC_STATIC

    • OLEMISC_CANTLINKINSIDE

    • OLEMISC_CANLINKBYOLE1

    • OLEMISC_ISLINKOBJECT

    • OLEMISC_INSIDEOUT

    • OLEMISC_ACTIVATEWHENVISIBLE

    • OLEMISC_RENDERINGISDEVICEINDEPENDENT

    • OLEMISC_INVISIBLEATRUNTIME

    • OLEMISC_ALWAYSRUN

    • OLEMISC_ACTSLIKEBUTTON

    • OLEMISC_ACTSLIKELABEL

    • OLEMISC_NOUIACTIVATE

    • OLEMISC_ALIGNABLE

    • OLEMISC_IMEMODE

    • OLEMISC_SIMPLEFRAME

    • OLEMISC_SETCLIENTSITEFIRST

  • tlid
    Unikatowy identyfikator klasy kontroli.

  • wVerMajor
    Główny numer wersji tej klasy formantu.

  • wVerMinor
    Numer wersji pomocniczej klasy formantu.

Wartość zwracana

Różna od zera, jeśli klasa sterowania został zarejestrowany; inny sposób 0.

Uwagi

Umożliwia to kontrolę posługuje się w pojemnikach, które są OLE-control.AfxOleRegisterControlClassaktualizuje rejestr o nazwie i lokalizacji w systemie kontroli, a także określa model wątka, który obsługuje formantu w rejestrze.Aby uzyskać więcej informacji, zobacz technicznej 64 Uwaga, "Komórkowy Model wątkowości w OLE formantów," i o procesy i wątki w Windows SDK.

Przykład

// Member function implementation of class COleObjectFactory::UpdateRegistry  
//
BOOL CMyAxCtrl::CMyAxCtrlFactory::UpdateRegistry(BOOL bRegister)
{
    // TODO: Verify that your control follows apartment-model threading rules. 
    // Refer to MFC TechNote 64 for more information. 
    // If your control does not conform to the apartment-model rules, then 
    // you must modify the code below, changing the 6th parameter from 
    // afxRegInsertable | afxRegApartmentThreading to afxRegInsertable. 

    if (bRegister)
        return AfxOleRegisterControlClass(
            AfxGetInstanceHandle(),
            m_clsid,
            m_lpszProgID,
            IDS_NVC_MFCAXCTL,
            IDB_NVC_MFCAXCTL,
            afxRegInsertable | afxRegApartmentThreading,
            _dwMyOleMisc,
            _tlid,
            _wVerMajor,
            _wVerMinor);
    else 
        return AfxOleUnregisterClass(m_clsid, m_lpszProgID);
}

W powyższym przykładzie pokazano, jak AfxOleRegisterControlClass jest wywoływana z Flaga dla wstawiony i Flaga dla apartament modelu operacja logiczna pogrupowane w celu utworzenia szósty parametr:

          afxRegInsertable | afxRegApartmentThreading,

Formantu pojawią się w oknie dialogowym Wstaw obiekt włączonych kontenerów i będzie on apartament obsługujące model.Formanty obsługujące model Apartment zapewnić że klasy statyczne dane są chronione przez blokad, tak, że podczas kontroli w jednym apartamencie uzyskuje dostęp do danych statycznych, nie jest wyłączone przez harmonogram przed zakończeniem, a inne wystąpienie tej samej klasy rozpoczyna się przy użyciu tych samych danych statycznych.Wszelkich praw dostępu do danych statycznych jest otoczony kod sekcji krytycznej.

Wymagania

Nagłówek:<afxctl.h>

Zobacz też

Informacje

AfxOleRegisterPropertyPageClass

AfxOleRegisterTypeLib

AfxOleUnregisterClass

AfxOleUnregisterTypeLib

Koncepcje

Makra i funkcje globalne MFC