AfxOleRegisterControlClass

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

# include lt;afxctl.h>

Valore restituito

Diverso da zero se la classe control è stata registrata; in caso contrario 0.

Parametri

hInstance

L'handle di istanza del modulo associato alla classe control.

clsid

L'unica classe ID del controllo.

pszProgID

Il programma unico ID del controllo.

idTypeName

L'ID di risorsa della stringa che contiene un nome di tipo leggibile dall'utente per il controllo.

idBitmap

L'ID di risorsa dell'immagine bitmap utilizzata per rappresentare il controllo OLE in una barra degli strumenti o la tavolozza.

nRegFlags

Contiene uno o più dei seguenti flag:

&Notanbsp;  Nelle versioni MFC prima di MFC 4.2, il parametro dinRegFlags intera un parametro BOOL , bInsertable, che ha permesso o non consentite al controllo per essere inseriti nella finestra di dialogo Inserisci oggetto .

dwMiscStatus

Contiene uno o più dei seguenti flag di stato (per una descrizione delle bandiere, vedere Enumerazione OLEMISC nel riferimento di OLE Programmer):

tlid

L'ID univoco della classe control.

wVerMajor

Il numero di versione principale della classe control.

wVerMinor

Il numero di versione minore della classe control.

Osservazioni

Registra la classe control con il database di registrazione di Windows. Questo permette il controllo essere utilizzati da contenitori che sono consapevole di controllo OLE. AfxOleRegisterControlClass aggiorna il Registro di sistema con il nome e la posizione sul sistema del controllo e imposta anche il modello di threading il controllo supporta nel Registro di sistema. Per ulteriori informazioni, vedere 64 Note tecniche, "Modello Apartment Threading in OLE controlli," e sui processi e i thread in Win32 SDK.

Esempio

/ / Implementazione funzione membro della classe COleObjectFactory::UpdateRegistry / /
BOOL CMyApartmentAwareCtrl::CApartmentCtrlFactory::UpdateRegistry(BOOL bRegister)
{
/ / TODO: verificare che il controllo segue / / modello apartment filettare le regole.
/ / Per ulteriori informazioni fare riferimento a MFC Tech&Note 64.
/ / Se il controllo non è conforme alla / / regole modello apartment, allora si deve modificare il
/ / codice qui di seguito, cambiando il parametro 6a dalla
/ / afxRegInsertable | afxRegApartmentThreading a
/ / afxRegInsertable.

nbsp; Se (bRegistrazione immediata dei bollettini)
      ritorno AfxOleRegisterControlClass()
         AfxGetInstanceHandle(),
         m_clsid,
         m_lpszProgID,
         IDS_APARTMENT,
         IDB_APARTMENT,
         afxRegInsertable | afxRegApartmentThreading,
         _dwApartmentOleMisc,
         _tlid,
         _wVerMajor,
         _wVerMinor);
   altro
      return AfxOleUnregisterClass (m_clsid, m_lpszProgID)

Questo esempio dimostra come AfxOleRegisterControlClass si chiama con il flag per inseribile e la bandiera per il modello appartamento or insieme per creare il parametro sesto:

   afxRegInsertable | afxRegApartmentThreading

Il controllo verrà visualizzata nella finestra di dialogo Inserisci oggetto per contenitori abilitati, e sarà appartamento modello consapevole. Controlli con supporto-modello appartamento devono garantire tale classe statica dati protetti da serrature, in modo che mentre un controllo in un appartamento di accesso a dati statici, esso non è disabilitato dall'utilità di pianificazione prima che è finito, e un'altra istanza della stessa classe inizia a utilizzare gli stessi dati statici. Tutti gli accessi ai dati statici saranno circondati da codice sezione critica.

Vedere a&nchenbsp;AfxOleRegisterPropertyPageClass, AfxOleRegisterTypeLib, AfxOleUnregisterClass, AfxOleUnregisterTypeLib

Index