Compartilhar via


Informações do Registro de controles ActiveX

Há uma série de entradas do Registro e sinalizadores que são usados. Além disso, os controles podem oferecer suporte a categorias de componentes para classificar os recursos que eles fornecem.

As chaves do Registro relacionadas aos controles são marcadas com um asterisco na seguinte árvore:

HKEY_CLASSES_ROOT
   CLSID
      {control_CLSID}
         ProgID = <identifier>
         InprocServer32 = <filename>.dll
         *DefaultIcon = <filename>.<ext>,resourceID
         *ToolboxBitmap32 = <filename>.<ext>,resourceID
         *Control
         verb
            *n = &Properties...
         *MiscStatus = 0
         TypeLib = {object_typelibID}
         *Version = version_number

A entrada DefaultIcon é usada para identificar um ícone a ser exibido quando o controle é minimizado para um ícone. A função ExtractIcon é usada para obter o ícone do arquivo .DLL ou .EXE especificado.

A entrada ToolboxBitmap32 identifica o nome do módulo e o identificador de recurso para um bitmap 16 * 15 a ser usado para a face de uma barra de ferramentas ou botão da caixa de ferramentas. O tamanho padrão do ícone do Windows é muito grande para ser usado para essa finalidade. Essa entrada oferece suporte especificamente a contêineres de controle que têm um modo de design no qual se seleciona controles e os coloca em um formulário que está sendo projetado. Por exemplo, no Visual Basic, o ícone do controle é exibido na caixa de ferramentas do Visual Basic durante o modo de design.

A entrada Control marca um objeto como um controle. Essa entrada é frequentemente usada por contêineres para preencher caixas de diálogo. O contêiner usa essa subchave para determinar se um objeto deve ser incluído em uma caixa de diálogo que exibe controles.

A subchave Inserível também pode ser usada com controles, dependendo se o objeto pode atuar apenas como um objeto incorporado in-loco sem recursos especiais de controle. Os objetos marcados com Inserível aparecem na caixa de diálogo Inserir Objeto de seu contêiner. A entrada Inserível geralmente significa que o controle foi testado com contêineres que não são de controle.

As subchaves Insertable e Control são opcionais. Um controle pode omitir a subchave Inserível se não tiver sido projetado para funcionar com contêineres mais antigos que não entendem controles. Um controle pode omitir a chave Control se ele for projetado apenas para trabalhar com um contêiner específico e, portanto, não desejar ser inserido em outros contêineres.

Os controles devem ter um verbo Propriedades, OLEIVERB_PROPERTIES, juntamente com quaisquer outros verbos que eles suportam. O verbo Propriedades, bem como o verbo padrão OLEIVERB_PRIMARY, instrui o controle a exibir sua folha de propriedades. O verbo Propriedades é exibido como o item Propriedades no menu do contêiner quando o controle está ativo. Dessa forma, o controle pode exibir sua própria página de propriedades permitindo alguma funcionalidade útil para o usuário final, mesmo se o contêiner não manipular controles.

Um controle define a chave MiscStatus para descrever-se a contêineres potenciais. Os bits assumem os valores de OLEMISC e os controles adicionam vários valores a essa enumeração. Consulte os valores de enumeração OLEMISC para obter mais informações. O cliente pode obter essas informações chamando IOleObject::GetMiscStatus sem precisar instanciar o controle primeiro.

Finalmente, Version descreve a versão do controle que deve corresponder à versão da biblioteca de tipos associada a esse controle.

Também nas informações de tipo para um controle, o controle de atributo marca uma entrada de coclasse como descrevendo um controle.