Classe de CComCompositeControl
Essa classe fornece os métodos necessários para implementar um controle composto.
Importante |
---|
Essa classe e seus membros não podem ser usados em aplicativos executados em tempo de execução do windows. |
template <
class T
>
class CComCompositeControl :
public CComControl< T, CAxDialogImpl< T > >
Parâmetros
- T
Seus derivados da classe, CComObjectRoot ou de CComObjectRootEx, bem como quaisquer outras interfaces você deseja oferecer suporte para o controle composto.
Membros
Construtores public
Nome |
Descrição |
---|---|
o construtor. |
|
O destrutor. |
Métodos públicos
Nome |
Descrição |
---|---|
Chamar esse método para recomendar ou unadvise todos os controles hospedados pelo controle composto. |
|
Chamar esse método para calcular o tamanho em unidades de HIMETRIC de recurso da caixa de diálogo usado para hospedar o controle composto. |
|
Este método é chamado para criar a janela do controle para o controle composto. |
|
Chamar esse método para criar a janela de controle e para recomendar qualquer controle hospedado. |
|
Chamar esse método para definir a cor do plano de fundo do controle composto usando a cor do plano de fundo do contêiner. |
Membros públicos de dados
Nome |
Descrição |
---|---|
O pincel em segundo plano. |
|
O identificador de janela que atualmente tem o foco. |
Comentários
Classes derivadas herdam da classe CComCompositeControl a funcionalidade de um controle composto ActiveX.Os controles ActiveX derivados de CComCompositeControl são hospedados por uma caixa de diálogo padrão.Esses tipos de controles são chamados controles compostos como podem hospedar outros controles (controles nativos do windows e controles ActiveX.)
CComCompositeControl identifica o recurso da caixa de diálogo para usar na criação um controle composto de um membro de dados enumerados na classe filho.O membro IDD de essa classe filho é definida como a identificação do recurso de recurso da caixa de diálogo que será usado como a janela do controle.O exemplo a seguir é um exemplo de membro de dados que a classe derivada de CComCompositeControl deve conter para identificar o recurso da caixa de diálogo para ser usado na janela do controle:
enum { IDD = IDD_MYCOMPOSITE };
Observação |
---|
Os controles são sempre controles compostos da janela, embora eles podem conter controles sem janelas. |
Um controle implementado por CComCompositeControl- a classe derivada tem o comportamento do uso de opção interno.Quando o controle recebe o foco sendo listado em um aplicativo que contém, em sucessão pressione a tecla TAB fará com que o foco a ser alternado através dos controles contidos de qualquer controle composto, então fora do controle composto e sobre para o próximo item na ordem de tabulação o recipiente.Ordem de tabulação de controles hospedados é determinado pelo recurso da caixa de diálogo e determina a ordem em que o catálogo ocorrerá.
Observação |
---|
Aceleradores para que funcionem corretamente com CComCompositeControl, é necessário carregar uma tabela de aceleração como o controle é criado, passa a alça e o número de aceleradores de novo em IOleControlImpl::GetControlInfofor, e finalmente a tabela quando o controle é liberado. |
Exemplo
// Example for overriding IOleControlImpl::GetControlInfo()
// This example uses the accelerator table from the project resources
// with the identifier IDR_ACCELTABLE
// Define GetControlInfo() in the header of your composite
// control class as follows:
STDMETHOD(GetControlInfo)(CONTROLINFO* pCI)
{
// Load the accelerator table from the resource
pCI->hAccel = LoadAccelerators(_AtlBaseModule.GetResourceInstance(),
MAKEINTRESOURCE(IDR_ACCELTABLE));
if (pCI->hAccel == NULL)
return E_FAIL;
// Get the number of accelerators in the table
pCI->cAccel = (USHORT)CopyAcceleratorTable(pCI->hAccel, NULL, 0);
// The following is optional if you want your control
// to process the return and/or escape keys
// pCI.dwFlags = CTRLINFO_EATS_RETURN | CTRLINFO_EATS_ESCAPE;
pCI->dwFlags = 0;
return S_OK;
}
Hierarquia de herança
WinBase
CComCompositeControl
Requisitos
Cabeçalho: atlctl.h