Sdílet prostřednictvím


AfxOleRegisterControlClass

Registry ovládání třídy s registrační databáze systému 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
    Popisovač instance přidružené k třídě ovládací modul.

  • clsid
    Jedinečný Identifikátor ovládacího prvku.

  • pszProgID
    Program jedinečný Identifikátor ovládacího prvku.

  • idTypeName
    ID zdroje řetězec, který obsahuje typ uživatelem čitelný název ovládacího prvku.

  • idBitmap
    ID zdroje rastrový obrázek představující ovládací prvek OLE v panelu nástrojů nebo v paletě.

  • nRegFlags
    Obsahuje jeden nebo více následujících příznaků:

    • afxRegInsertableUmožňuje řídit v dialogovém okně Vložit objekt OLE objekty.

    • afxRegApartmentThreadingNastaví v registru ThreadingModel model podprocesu typu Apartment =.

    • afxRegFreeThreadingModel podprocesu nastaví v registru ThreadingModel = zdarma.

      Můžete zkombinovat dva příznaky afxRegApartmentThreading a afxRegFreeThreading nastavit ThreadingModel = I.Viz InprocServer32 v Windows SDK Další informace o registraci model podprocesů.

    [!POZNÁMKA]

    MFC verze před MFC 4.2 intnRegFlags parametr byl BOOL parametr, bInsertable, který povoleno nebo zakázáno ovládacího prvku v dialogovém okně Vložit objekt vložit.

  • dwMiscStatus
    Obsahuje jeden nebo více následujících příznaků: stav (Popis příznaků naleznete v tématu OLEMISC ve výčtu 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
    Jedinečný Identifikátor třídy ovládacího prvku.

  • wVerMajor
    Hlavní číslo verze ovládacího prvku třídy.

  • wVerMinor
    Číslo podverze třídy řízení.

Vrácená hodnota

Nenulová hodnota, pokud je ovládací prvek třídy byla zapsána; jinak 0.

Poznámky

To umožňuje řídit pro kontejnery, které jsou OLE-control.AfxOleRegisterControlClassaktualizace registru s názvem ovládacího prvku a jeho umístění v systému a také nastaví model podprocesu, který podporuje ovládací prvek v registru.Další informace naleznete v Technická poznámka 64, "Model apartment, typ podprocesu v OLE prvky," a o procesů a podprocesů v Windows SDK.

Příklad

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

Výše uvedený příklad ukazuje jak AfxOleRegisterControlClass je volána s příznakem pro vložitelný a příznak typu apartment modelu sloučeny pomocí operátoru OR dohromady a vytvořit šestého parametr:

            afxRegInsertable | afxRegApartmentThreading,

Ovládací prvek se zobrazí v dialogovém okně Vložit objekt povoleno kontejnerů a bude podporující model typu apartment.Ovládací prvky podporující model Apartment musí statické třídy, data jsou chráněna zámky, zajistit, aby při řízení v jedné apartment přistupuje k statická data, to není zakázáno plánovačem před dokončením a spustí další instance stejné třídy pomocí stejného statická data.Všechny přístupy k statická data bude ohraničena kritické části kódu.

Požadavky

Záhlaví: <afxctl.h>

Viz také

Referenční dokumentace

AfxOleRegisterPropertyPageClass

AfxOleRegisterTypeLib

AfxOleUnregisterClass

AfxOleUnregisterTypeLib

Koncepty

MFC makra a Globals