AfxOleRegisterControlClass

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

# include lt;afxctl.h>

Valor de retorno

Diferente de zero se a classe de Controlarar foi registrada; caso contrário 0.

Parâmetros

hInstance

O identificador de instância do módulo associado com a classe de Controlarar.

clsid

A exclusivo identificação de classe do controle.

pszProgID

O ID de programa exclusivo do controle.

idTypeName

A identificação de recurso de Cadeia de caracteres que contém um nome de tipo de usuário-legível para o controle.

idBitmap

A identificação de recurso do bitmap usado para representar o Controlarar OLE em uma barra de ferramentas ou paleta.

nRegFlags

Contém um ou mais dos sinalizadores a seguir:

&Notanbsp;  Em versões do MFC antes para MFC 4.2, o parâmetro denRegFlags intfoi um parâmetro BOOL , bInsertable, que permitidos ou não permitidos o controle a ser inserido na caixa de diálogo Inserir objeto .

dwMiscStatus

Contém um ou mais dos seguintes sinalizadores de status (para obter uma descrição dos sinalizadores, consulte OLEMISC Enumeração in the OLE Programmer Referência):

tlid

O ID exclusivo da classe control.

wVerMajor

O número de versão principal da classe control.

wVerMinor

O número de versão secundária da classe control.

Observações

Registra a classe de Controlarar com o banco de dados de registro do Windows. Isso permite que o Controlarar a ser usado por recipientes que estão ciente de Controlarar OLE. AfxOleRegisterControlClass atualiza o registro com o nome e o local no sistema do controle e também define o modelo de segmentação que o Controlarar suporta no registro. Para obter mais informações, consulte técnico Anotação 64, "Modelo de Apartment Threading no OLE controles" e sobre processos e Threads no SDK do Win32.

Exemplo

/ / Implementação de função de membro de classe COleObjectFactory::UpdateRegistry / /
BOOL CMyApartmentAwareCtrl::CApartmentCtrlFactory::UpdateRegistry(BOOL bRegister)
{
/ / TODO: Verifique se que seu controle segue / / compartimento-modelo threading regras.
/ / Consulte MFC Tech&Note 64 para obter mais informações.
/ / Se o controle não obedece a / / regras de modelo de apartment, então você deve modificar o
/ / código abaixo, alterando o parâmetro 6 da
/ / afxRegInsertable | afxRegApartmentThreading para
/ / afxRegInsertable.

nbsp; se (bRegister)
      retornar AfxOleRegisterControlClass()
         AfxGetInstanceHandle(),
         m_clsid,
         m_lpszProgID,
         IDS_APARTMENT,
         IDB_APARTMENT,
         afxRegInsertable | afxRegApartmentThreading,
         _dwApartmentOleMisc,
         _tlid,
         _wVerMajor,
         _wVerMinor);
   outra pessoa
      retornar AfxOleUnregisterClass (m_clsid, m_lpszProgID)

O exemplo acima demonstra como AfxOleRegisterControlClass é chamado com o sinalizador para inseríveis e o sinalizador de modelo de apartment vinculadas com or juntos para criar o sexto parâmetro:

   afxRegInsertable | afxRegApartmentThreading

O Controlarar aparecerá na caixa de diálogo Inserir objeto para recipientes habilitados, e ele estará ciente de modelo de apartamento. Apartamento ciente de modelo controles deve garantir essa classe estática dados são protegidos por bloqueios, para que enquanto um controle em um apartamento estiver acessando os dados estáticos, ele não é desativado pelo Agendador antes de terminar, e outra instância da mesma classe inicia usando os mesmos dados estáticos. Quaisquer acessos a dados estáticos serão cercados por código da seção crítica.

Co&nsulte tambémnbsp;AfxOleRegisterPropertyPageClass, AfxOleRegisterTypeLib, AfxOleUnregisterClass, AfxOleUnregisterTypeLib

Index