AfxOleRegisterControlClass
Registra la clase control con la base de datos del registro de Windows.
BOOL AFXAPI AfxOleRegisterControlClass(
HINSTANCE hInstance,
REFCLSID clsid,
LPCTSTR pszProgID,
UINT idTypeName,
UINT idBitmap,
int nRegFlags,
DWORD dwMiscStatus,
REFGUID tlid,
WORD wVerMajor,
WORD wVerMinor
);
Parámetros
hInstance
Identificador de instancia del módulo asociado a la clase de control.clsid
Identificador único de la clase del control.pszProgID
Identificador único de El programa del control.idTypeName
El Id. de recurso de cadena que contiene un nombre de tipo usuario-legible para el control.idBitmap
El Id. de recurso de mapa de bits utilizado para representar el control OLE en una barra de herramientas o una tabla.nRegFlags
Contiene uno o más de los siguientes indicadores:afxRegInsertable Permitir el control mostrado en el cuadro de diálogo de objeto INSERT para objetos OLE.
afxRegApartmentThreading establece el modelo de subprocesos del registro a ThreadingModel=Apartment.
afxRegFreeThreading establece el modelo de subprocesos del registro a ThreadingModel=Free.
Puede combinar los dos marcadores afxRegApartmentThreading y afxRegFreeThreading para establecer ThreadingModel=Both.Vea InprocServer32 en Windows SDK para más información en el registro del modelo de subprocesos.
[!NOTA]
En las versiones de MFC antes de MFC 4,2, el parámetro de intnRegFlags es un parámetro de BOOL , bInsertable, que le permita o denegado el control que se va a insertar el cuadro de diálogo del objeto INSERT.
dwMiscStatus
Contiene uno o más de los siguientes indicadores de estado (para obtener una descripción de los indicadores, vea la enumeración de OLEMISC en 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
Identificador único de la clase del control.wVerMajor
El número de la clase de control.wVerMinor
El número de versión secundaria de la clase de control.
Valor devuelto
Distinto de cero si la clase control se registrada; si no 0.
Comentarios
Esto permite que el control usa contenedores que son controles activex monitores.AfxOleRegisterControlClass actualiza el registro con el nombre y la ubicación del control en el sistema y también establece el modelo de subprocesos que el control admite en el registro.Para obtener más información, vea nota técnica 64, “subprocesamiento de Apartamento-Modelo en controles OLE,” y Sobre los procesos y subprocesos en Windows SDK.
Ejemplo
// 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);
}
El ejemplo anterior muestra cómo AfxOleRegisterControlClass es el indicador para insertable y el marcador para el modelo ORed de apartamento juntos para crear el sexto parámetro:
afxRegInsertable | afxRegApartmentThreading,
El control aparecerá en el cuadro de diálogo de objeto INSERT para los contenedores habilitado, y se apartamento modelo-enterado.Los controles modelo-enterados de apartamento deben asegurarse de que la clase estática que los datos están protegidos por interbloqueo, de modo que aunque un control en un apartamento obtiene acceso a los datos estáticos, no está deshabilitada por el programador antes de que termine, y otra instancia de la misma clase comienza utilizando los mismos datos estáticos.Tener acceso a los datos estáticos se rodeado por código de sección crítico.
Requisitos
Header: <afxctl.h>
Vea también
Referencia
AfxOleRegisterPropertyPageClass