Sdílet prostřednictvím


Třída CComCompositeControl

Tato třída poskytuje metody potřebné k implementaci složený ovládací prvek.

Důležitá poznámkaDůležité

Třídy a jejích členů nelze použít v aplikacích, které spustit v modulu Runtime v systému Windows.

template < 
class T  
> 
class CComCompositeControl : 
public CComControl< T, CAxDialogImpl< T > >

Parametry

  • T
    Vaší třídy odvozené z CComObjectRoot nebo CComObjectRootEx, jak dobře od jiných rozhraní chcete podporovat složeného ovládacího prvku.

Členy

Veřejné konstruktory

Název

Description

CComCompositeControl::CComCompositeControl

Konstruktor.

CComCompositeControl:: ~ CComCompositeControl

Destruktoru.

Veřejné metody

Název

Description

CComCompositeControl::AdviseSinkMap

Volání této metody poradit nebo unadvise všechny ovládací prvky hostované složený ovládací prvek.

CComCompositeControl::CalcExtent

Volání této metody pro výpočet velikosti v HIMETRIC jednotky zdroje dialogové okno slouží k hostiteli složeného ovládacího prvku.

CComCompositeControl::Create

Tato metoda se nazývá vytvořit okno řízení pro složený ovládací prvek.

CComCompositeControl::CreateControlWindow

Volání této metody vytvořit okno řízení a radit hostované kontrolu.

CComCompositeControl::SetBackgroundColorFromAmbient

Volání této metody lze nastavit barvu pozadí složeného ovládacího prvku pomocí barvy pozadí kontejneru.

Veřejné datové členy

Název

Description

CComCompositeControl::m_hbrBackground

Štětec pozadí.

CComCompositeControl::m_hWndFocus

Popisovač okna, který má aktuálně fokus.

Poznámky

Třídy odvozené od třídy CComCompositeControl dědí funkce složeného ovládacího prvku ActiveX.Ovládací prvky ActiveX, které jsou odvozeny z CComCompositeControl hostitelem standardního dialogového okna.Tyto typy ovládacích prvků se nazývají složený ovládací prvky, protože jsou schopny hostiteli ostatních ovládacích prvků (nativní Windows ovládací prvky a ovládací prvky ActiveX).

CComCompositeControlidentifikuje zdroj dialogové okno používat při vytváření složeného ovládacího prvku je vyhledání výčtový datový člen v podřízené třídy.ID zdroje v dialogovém okně prostředku, který bude sloužit jako okno ovládacího prvku je nastavena členské IDD podřízené třídy.Následuje příklad dat člen třídy odvozené z CComCompositeControl k identifikaci prostředku dialogové okno pro okna ovládacího prvku by měl obsahovat:

enum { IDD = IDD_MYCOMPOSITE };

[!POZNÁMKA]

Složený ovládací prvky jsou vždy zobrazení v okně Ovládací prvky, přestože obsahují ovládací prvky bez oken.

Řízení se provádí CComCompositeControl -odvozené třídy má výchozí chování součástí tabulátor.Ovládací prvek fokus obdrží podle právě na záložkách obsahující aplikaci, způsobí postupně stisknutím klávesy TAB cyklicky všech ovládacích prvků složený ovládací prvek obsažený, pak z složený ovládací prvek a další položky v pořadí kontejneru fokus.Pořadí prvků hostované se dialogové okno zdroj a určuje pořadí, ve které tabulátor dojde.

[!POZNÁMKA]

Akcelerátory správně pracovat, aby CComCompositeControl , je nutné načíst tabulku aplikace akcelerátor vytvoření ovládacího prvku, průchod úchyt a počet akcelerátory zpět do IOleControlImpl::GetControlInfoa nakonec zničit tabulky při uvolnění ovládacího prvku.

Příklad

// 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;
}

Hierarchii dědičnosti

WinBase

CComControlBase

CComControl

CComCompositeControl

Požadavky

Záhlaví: atlctl.h

Viz také

Referenční dokumentace

Třída CComControl

Koncepty

ATL – principy vytváření složených prvků

Další zdroje

Přehled třídy ATL