Třída CComCompositeControl
Tato třída poskytuje metody potřebné k implementaci složený ovládací prvek.
Dů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 |
---|---|
Konstruktor. |
|
Destruktoru. |
Veřejné metody
Název |
Description |
---|---|
Volání této metody poradit nebo unadvise všechny ovládací prvky hostované složený ovládací prvek. |
|
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. |
|
Tato metoda se nazývá vytvořit okno řízení pro složený ovládací prvek. |
|
Volání této metody vytvořit okno řízení a radit hostované kontrolu. |
|
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 |
---|---|
Štětec pozadí. |
|
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
CComCompositeControl
Požadavky
Záhlaví: atlctl.h
Viz také
Referenční dokumentace
Koncepty
ATL – principy vytváření složených prvků