Sdílet prostřednictvím


CComControlBase – třída

Tato třída poskytuje metody pro vytváření a správu ovládacích prvků ATL.

Důležité

Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.

Syntaxe

class ATL_NO_VTABLE CComControlBase

Členové

Veřejné definice typedef

Název Popis
CComControlBase::AppearanceType Přepsat, pokud vaše m_nAppearance skladová vlastnost není typu short.

Veřejné konstruktory

Název Popis
CComControlBase::CComControlBase Konstruktor
CComControlBase::~CComControlBase Destruktor.

Veřejné metody

Název Popis
CComControlBase::ControlQueryInterface Načte ukazatel na požadované rozhraní.
CComControlBase::D oesVerbActivate Kontroluje, zda parametr iVerb používaný IOleObjectImpl::DoVerb buď aktivuje uživatelské rozhraní ovládacího prvku (iVerb se rovná OLEIVERB_UIACTIVATE), definuje akci prováděnou poklikáním ovládacího prvku (iVerb se rovná OLEIVERB_PRIMARY), zobrazí ovládací prvek (iVerb se rovná OLEIVERB_SHOW) nebo aktivuje ovládací prvek (iVerb se rovná OLEIVERB_INPLACEACTIVATE).
CComControlBase::D oesVerbUIActivate Zkontroluje, zda parametr iVerb používaný příčinamiIOleObjectImpl::DoVerb, že uživatelské rozhraní ovládacího prvku aktivuje a vrátí hodnotu TRUE.
CComControlBase::D oVerbProperties Zobrazí stránky vlastností ovládacího prvku.
CComControlBase::FireViewChange Voláním této metody řekněte kontejneru, aby překreslil ovládací prvek, nebo upozorněte registrované jímky, že zobrazení ovládacího prvku se změnilo.
CComControlBase::GetAmbientAppearance Načte DISPID_AMBIENT_APPEARANCE, aktuální nastavení vzhledu ovládacího prvku: 0 pro ploché a 1 pro 3D.
CComControlBase::GetAmbientAutoClip Načte DISPID_AMBIENT_AUTOCLIP, příznak označující, jestli kontejner podporuje automatické oříznutí oblasti zobrazení ovládacího prvku.
CComControlBase::GetAmbientBackColor Načte DISPID_AMBIENT_BACKCOLOR, barvu okolního pozadí pro všechny ovládací prvky definované kontejnerem.
CComControlBase::GetAmbientCharSet Načte DISPID_AMBIENT_CHARSET, okolí znakové sady pro všechny ovládací prvky definované kontejnerem.
CComControlBase::GetAmbientCodePage Načte DISPID_AMBIENT_CODEPAGE, okolí znakové sady pro všechny ovládací prvky definované kontejnerem.
CComControlBase::GetAmbientDisplayAsDefault Načte DISPID_AMBIENT_DISPLAYASDEFAULT, příznak, který je TRUE, pokud kontejner označil ovládací prvek v tomto webu jako výchozí tlačítko, a proto by se ovládací prvek tlačítka měl nakreslit s silnějším rámečkem.
CComControlBase::GetAmbientDisplayName Načte DISPID_AMBIENT_DISPLAYNAME, název kontejneru zadaný do ovládacího prvku.
CComControlBase::GetAmbientFont Načte ukazatel na okolí IFont kontejneru.
CComControlBase::GetAmbientFontDisp Načte ukazatel na okolí IFontDisp dispečerského rozhraní kontejneru.
CComControlBase::GetAmbientForeColor Načte DISPID_AMBIENT_FORECOLOR, barvu okolí popředí pro všechny ovládací prvky definované kontejnerem.
CComControlBase::GetAmbientLocaleID Načte DISPID_AMBIENT_LOCALEID identifikátor jazyka používaného kontejnerem.
CComControlBase::GetAmbientMessageReflect Načte DISPID_AMBIENT_MESSAGEREFLECT, příznak označující, jestli kontejner chce přijímat zprávy okna (například WM_DRAWITEM) jako události.
CComControlBase::GetAmbientPalette Načte DISPID_AMBIENT_PALETTE, který se používá pro přístup ke službě HPALETTE kontejneru.
CComControlBase::GetAmbientProperty Načte vlastnost kontejneru zadanou ID.
CComControlBase::GetAmbientRightToLeft Načte DISPID_AMBIENT_RIGHTTOLEFT, směr zobrazení obsahu kontejnerem.
CComControlBase::GetAmbientScaleUnits Načte DISPID_AMBIENT_SCALEUNITS, okolní jednotky kontejneru (například palce nebo centimetry) pro zobrazení popisků.
CComControlBase::GetAmbientShowGrabHandles Načte DISPID_AMBIENT_SHOWGRABHANDLES, příznak označující, jestli kontejner umožňuje ovládacímu prvku zobrazit úchyty pro sebe, když je aktivní.
CComControlBase::GetAmbientShowHatching Načte DISPID_AMBIENT_SHOWHATCHING, příznak označující, jestli kontejner umožňuje, aby se ovládací prvek zobrazoval s šrafovaným vzorem, když je uživatelské rozhraní aktivní.
CComControlBase::GetAmbientSupportsMnemonics Načte DISPID_AMBIENT_SUPPORTSMNEMONICS příznak označující, jestli kontejner podporuje mnemonics klávesnice.
CComControlBase::GetAmbientTextAlign Načte DISPID_AMBIENT_TEXTALIGN, zarovnání textu upřednostňované kontejnerem: 0 pro obecné zarovnání (čísla vpravo, text vlevo), 1 pro zarovnání doleva, 2 pro zarovnání na střed a 3 pro zarovnání doprava.
CComControlBase::GetAmbientTopToBottom Načte DISPID_AMBIENT_TOPTOBOTTOM, směr zobrazení obsahu kontejnerem.
CComControlBase::GetAmbientUIDead Načte DISPID_AMBIENT_UIDEAD, příznak označující, jestli kontejner chce, aby ovládací prvek reagoval na akce uživatelského rozhraní.
CComControlBase::GetAmbientUserMode Načte DISPID_AMBIENT_USERMODE, příznak označující, jestli je kontejner v režimu spuštění (TRUE) nebo v režimu návrhu (FALSE).
CComControlBase::GetDirty Vrátí hodnotu datového členu m_bRequiresSave.
CComControlBase::GetZoomInfo Načte hodnoty x a y čitátoru a jmenovatele faktoru lupy pro ovládací prvek aktivovaný pro místní úpravy.
CComControlBase::InPlaceActivate Způsobí, že ovládací prvek přejde z neaktivního stavu na jakýkoli stav, který příkaz v iVerb indikuje.
CComControlBase::InternalGetSite Voláním této metody zadejte dotaz na řídicí web pro ukazatel na identifikované rozhraní.
CComControlBase::OnDraw Přepište tuto metodu tak, aby nakreslela váš ovládací prvek.
CComControlBase::OnDrawAdvanced Výchozí nastavení OnDrawAdvanced připraví normalizovaný kontext zařízení pro kreslení a pak zavolá metodu OnDraw třídy řízení.
CComControlBase::OnKillFocus Zkontroluje, jestli je ovládací prvek na místě aktivní a má platnou lokalitu ovládacího prvku, a pak informuje kontejner, že ovládací prvek ztratil fokus.
CComControlBase::OnMouseActivate Zkontroluje, jestli je uživatelské rozhraní v uživatelském režimu, a pak aktivuje ovládací prvek.
CComControlBase::OnPaint Připraví kontejner na malování, získá klientskou oblast ovládacího prvku a pak zavolá metodu třídy OnDraw ovládacího prvku.
CComControlBase::OnSetFocus Zkontroluje, jestli je ovládací prvek v místě aktivní a má platnou lokalitu ovládacího prvku, a pak informuje kontejner, který ovládací prvek získal fokus.
CComControlBase::P reTranslateAccelerator Tuto metodu přepište tak, aby poskytovala vlastní obslužné rutiny akcelerátoru klávesnice.
CComControlBase::SendOnClose Upozorní všechny poradní jímky zaregistrované u držitele rady, že ovládací prvek byl uzavřen.
CComControlBase::SendOnDataChange Upozorní všechny poradní jímky zaregistrované u držitele doporučení, že došlo ke změně řídicích dat.
CComControlBase::SendOnRename Upozorní všechny poradní jímky zaregistrované u držitele rady, že ovládací prvek má nový moniker.
CComControlBase::SendOnSave Upozorní všechny poradní jímky zaregistrované u držitele rady, že ovládací prvek byl uložen.
CComControlBase::SendOnViewChange Upozorní všechny registrované jímky rady, že se změnilo zobrazení ovládacího prvku.
CComControlBase::SetControlFocus Nastaví nebo odebere fokus klávesnice na ovládací prvek nebo z ovládacího prvku.
CComControlBase::SetDirty Nastaví datový člen m_bRequiresSave na hodnotu v nástroji bDirty.

Veřejné datové členy

Název Popis
CComControlBase::m_bAutoSize Příznak označující ovládací prvek nemůže mít jinou velikost.
CComControlBase::m_bDrawFromNatural Příznak označující, že IDataObjectImpl::GetData a CComControlBase::GetZoomInfo měl by nastavit velikost ovládacího prvku, m_sizeNatural nikoli z m_sizeExtent.
CComControlBase::m_bDrawGetDataInHimetric Příznak označující, že IDataObjectImpl::GetData by se při kreslení měly používat jednotky HIMETRIC a ne pixely.
CComControlBase::m_bInPlaceActive Příznak označující, že je ovládací prvek aktivní.
CComControlBase::m_bInPlaceSiteEx Příznak indikující, že kontejner podporuje IOleInPlaceSiteEx funkce ovládacího prvku ROZHRANÍ a OCX96, jako jsou například ovládací prvky bez oken a blikání bez blikání.
CComControlBase::m_bNegotiatedWnd Příznak označující, jestli ovládací prvek vyjednal s kontejnerem o podpoře funkcí ovládacího prvku OCX96 (například blikání bez oken a bez oken) a jestli je ovládací prvek otevřený nebo bez oken.
CComControlBase::m_bRecomposeOnResize Příznak označující, že ovládací prvek chce znovu sestavit prezentaci, když kontejner změní velikost zobrazení ovládacího prvku.
CComControlBase::m_bRequiresSave Příznak označující, že se ovládací prvek od posledního uložení změnil.
CComControlBase::m_bResizeNatural Příznak označující, že ovládací prvek chce změnit velikost přirozeného rozsahu (jeho neškálované fyzické velikosti), když kontejner změní velikost zobrazení ovládacího prvku.
CComControlBase::m_bUIActive Příznak označující uživatelské rozhraní ovládacího prvku, například nabídky a panely nástrojů, je aktivní.
CComControlBase::m_bUsingWindowRgn Příznak označující, že ovládací prvek používá oblast okna zadanou kontejnerem.
CComControlBase::m_bWasOnceWindowless Příznak označující, že ovládací prvek je bez oken, ale teď může nebo nemusí být bez oken.
CComControlBase::m_bWindowOnly Příznak označující, že ovládací prvek by měl být v okně, i když kontejner podporuje ovládací prvky bez oken.
CComControlBase::m_bWndLess Příznak označující, že ovládací prvek je bez oken.
CComControlBase::m_hWndCD Obsahuje odkaz na popisovač okna přidružený k ovládacímu prvku.
CComControlBase::m_nFreezeEvents Počet, kolikrát kontejner zablokoval události (odmítl přijímat události), aniž by došlo k zamrznutí událostí (přijetí událostí).
CComControlBase::m_rcPos Pozice v pixelech ovládacího prvku vyjádřená v souřadnicích kontejneru.
CComControlBase::m_sizeExtent Rozsah ovládacího prvku v jednotkách HIMETRIC (každá jednotka je 0,01 milimetrů) pro konkrétní displej.
CComControlBase::m_sizeNatural Fyzická velikost ovládacího prvku v jednotkách HIMETRIC (každá jednotka je 0,01 milimetrů).
CComControlBase::m_spAdviseSink Přímý ukazatel na připojení poradce pro kontejner (IAdviseSink kontejneru).
CComControlBase::m_spAmbientDispatch Objekt CComDispatchDriver , který umožňuje načíst a nastavit vlastnosti kontejneru IDispatch pomocí ukazatele.
CComControlBase::m_spClientSite Ukazatel na klientskou lokalitu ovládacího prvku v rámci kontejneru.
CComControlBase::m_spDataAdviseHolder Poskytuje standardní způsob, jak uchovávat poradní připojení mezi datovými objekty a poradit jímky.
CComControlBase::m_spInPlaceSite Ukazatel na ukazatel rozhraní IOleInPlaceSite, IOleInPlaceSiteEx nebo IOleInPlaceSiteWindowless kontejneru.
CComControlBase::m_spOleAdviseHolder Poskytuje standardní implementaci způsobu, jak uchovávat poradní připojení.

Poznámky

Tato třída poskytuje metody pro vytváření a správu ovládacích prvků ATL. CComControl – třída je odvozena od CComControlBase. Když vytvoříte standardní ovládací prvek nebo DHTML pomocí Průvodce ovládacím prvek ATL, průvodce automaticky odvozí vaši třídu z CComControlBase.

Další informace o vytvoření ovládacího prvku najdete v kurzu ATL. Další informace o Průvodci projektem ATL naleznete v článku Vytvoření projektu ATL.

Požadavky

Hlavička: atlctl.h

CComControlBase::AppearanceType

Přepsat, pokud vaše m_nAppearance skladová vlastnost není typu short.

typedef short AppearanceType;

Poznámky

Průvodce ovládacími prvky ATL přidá m_nAppearance skladovou vlastnost typu short. Přepsat AppearanceType , pokud používáte jiný datový typ.

CComControlBase::CComControlBase

Konstruktor

CComControlBase(HWND& h);

Parametry

h
Popisovač okna přidruženého k ovládacímu prvku.

Poznámky

Inicializuje velikost ovládacího prvku na 5080X5080 HIMETRIC jednotky (2 "X2") a inicializuje hodnoty datového CComControlBase členu na HODNOTU NULL nebo FALSE.

CComControlBase::~CComControlBase

Destruktor.

~CComControlBase();

Poznámky

Pokud je ovládací prvek v okně, ~CComControlBase zničí ho voláním DestroyWindow.

CComControlBase::ControlQueryInterface

Načte ukazatel na požadované rozhraní.

virtual HRESULT ControlQueryInterface(const IID& iid,
    void** ppv);

Parametry

iid
Identifikátor GUID požadovaného rozhraní.

ppv
Ukazatel na ukazatel rozhraní identifikovaný parametrem iid nebo NULL, pokud rozhraní nebylo nalezeno.

Poznámky

Zpracovává pouze rozhraní v tabulce mapování modelu COM.

Příklad

// Retrieve the control's IOleObject interface. Note interface 
// is automatically released when pOleObject goes out of scope

CComPtr<IOleObject> pOleObject;
ControlQueryInterface(IID_IOleObject, (void**)&pOleObject);

CComControlBase::D oesVerbActivate

Kontroluje, zda parametr iVerb používaný IOleObjectImpl::DoVerb buď aktivuje uživatelské rozhraní ovládacího prvku (iVerb se rovná OLEIVERB_UIACTIVATE), definuje akci prováděnou poklikáním ovládacího prvku (iVerb se rovná OLEIVERB_PRIMARY), zobrazí ovládací prvek (iVerb se rovná OLEIVERB_SHOW) nebo aktivuje ovládací prvek (iVerb se rovná OLEIVERB_INPLACEACTIVATE).

BOOL DoesVerbActivate(LONG iVerb);

Parametry

iVerb
Hodnota označující akci, kterou má provést DoVerb.

Návratová hodnota

Vrátí hodnotu PRAVDA, pokud se iVerb rovná OLEIVERB_UIACTIVATE, OLEIVERB_PRIMARY, OLEIVERB_SHOW nebo OLEIVERB_INPLACEACTIVATE; v opačném případě vrátí hodnotu NEPRAVDA.

Poznámky

Tuto metodu můžete přepsat, abyste definovali vlastní aktivační příkaz.

CComControlBase::D oesVerbUIActivate

Zkontroluje, zda parametr iVerb používaný příčinamiIOleObjectImpl::DoVerb, že uživatelské rozhraní ovládacího prvku aktivuje a vrátí hodnotu TRUE.

BOOL DoesVerbUIActivate(LONG iVerb);

Parametry

iVerb
Hodnota označující akci, kterou má provést DoVerb.

Návratová hodnota

Vrátí hodnotu PRAVDA, pokud se iVerb rovná OLEIVERB_UIACTIVATE, OLEIVERB_PRIMARY, OLEIVERB_SHOW nebo OLEIVERB_INPLACEACTIVATE. V opačném případě metoda vrátí hodnotu FALSE.

CComControlBase::D oVerbProperties

Zobrazí stránky vlastností ovládacího prvku.

HRESULT DoVerbProperties(LPCRECT /* prcPosRect */, HWND hwndParent);

Parametry

prcPosRec
Vyhrazeno.

hwndParent
Úchyt okna obsahujícího ovládací prvek

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

Příklad

// The following implementation of the WM_RBUTTONDOWN message handler
// will pop up the ActiveX Control's PropertyPages 
LRESULT CMyComposite::OnRButtonDown(UINT /*uMsg*/, WPARAM /*wParam*/, 
   LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
   DoVerbProperties(NULL, ::GetActiveWindow());
   return 0L;
}

 

MESSAGE_HANDLER(WM_RBUTTONDOWN, OnRButtonDown)

CComControlBase::FireViewChange

Voláním této metody řekněte kontejneru, aby překreslil ovládací prvek, nebo upozorněte registrované jímky, že zobrazení ovládacího prvku se změnilo.

HRESULT FireViewChange();

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

Poznámky

Pokud je ovládací prvek aktivní (datový člen třídy ovládacího prvku CComControlBase::m_bInPlaceActive je TRUE), upozorní kontejner, že chcete překreslit celý ovládací prvek. Pokud je ovládací prvek neaktivní, upozorní zaregistrované ovládací prvek jímky (prostřednictvím datového členu třídy ovládacího prvku CComControlBase::m_spAdviseSink), že se zobrazení ovládacího prvku změnilo.

Příklad

STDMETHODIMP CMyControl::put_Shape(int newVal)
{
   // store newVal in m_nShape user-defined member
   m_nShape = newVal;

   // notify container to redraw control
   FireViewChange();
   return S_OK;
}

CComControlBase::GetAmbientAppearance

Načte DISPID_AMBIENT_APPEARANCE, aktuální nastavení vzhledu ovládacího prvku: 0 pro ploché a 1 pro 3D.

HRESULT GetAmbientAppearance(short& nAppearance);

Parametry

nAppearance
Vlastnost DISPID_AMBIENT_APPEARANCE.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

Příklad

HRESULT OnDraw(ATL_DRAWINFO& di)
{
   short nAppearance;
   RECT& rc = *(RECT*)di.prcBounds;

   // draw 3D border if AmbientAppearance is not supported or is set to 1 
   HRESULT hr = GetAmbientAppearance(nAppearance);
   if (hr != S_OK || nAppearance==1)
   {
      DrawEdge(di.hdcDraw, &rc, EDGE_SUNKEN, BF_RECT);
   }
   else
   {
      Rectangle(di.hdcDraw, rc.left, rc.top, rc.right, rc.bottom);
   }

   SetTextAlign(di.hdcDraw, TA_CENTER|TA_BASELINE);
   LPCTSTR pszText = _T("ATL 8.0 : MyControl");

   // For security reasons, we recommend that you use the lstrlen function
   // with caution. Here, we can guarantee that pszText is NULL terminated,
   // and therefore it is safe to use this function.
   TextOut(di.hdcDraw, 
      (rc.left + rc.right) / 2, 
      (rc.top + rc.bottom) / 2, 
      pszText, 
      lstrlen(pszText));

   return S_OK;
}

CComControlBase::GetAmbientAutoClip

Načte DISPID_AMBIENT_AUTOCLIP, příznak označující, jestli kontejner podporuje automatické oříznutí oblasti zobrazení ovládacího prvku.

HRESULT GetAmbientAutoClip(BOOL& bAutoClip);

Parametry

bAutoClip
Vlastnost DISPID_AMBIENT_AUTOCLIP.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

CComControlBase::GetAmbientBackColor

Načte DISPID_AMBIENT_BACKCOLOR, barvu okolního pozadí pro všechny ovládací prvky definované kontejnerem.

HRESULT GetAmbientBackColor(OLE_COLOR& BackColor);

Parametry

Barva pozadí
Vlastnost DISPID_AMBIENT_BACKCOLOR.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

CComControlBase::GetAmbientCharSet

Načte DISPID_AMBIENT_CHARSET, okolí znakové sady pro všechny ovládací prvky definované kontejnerem.

HRESULT GetAmbientCharSet(BSTR& bstrCharSet);

Parametry

bstrCharSet
Vlastnost DISPID_AMBIENT_CHARSET.

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

CComControlBase::GetAmbientCodePage

Načte DISPID_AMBIENT_CODEPAGE, okolní znakovou stránku pro všechny ovládací prvky definované kontejnerem.

HRESULT GetAmbientCodePage(ULONG& ulCodePage);

Parametry

ulCodePage
Vlastnost DISPID_AMBIENT_CODEPAGE.

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

CComControlBase::GetAmbientDisplayAsDefault

Načte DISPID_AMBIENT_DISPLAYASDEFAULT, příznak, který je TRUE, pokud kontejner označil ovládací prvek v tomto webu jako výchozí tlačítko, a proto by se ovládací prvek tlačítka měl nakreslit s silnějším rámečkem.

HRESULT GetAmbientDisplayAsDefault(BOOL& bDisplayAsDefault);

Parametry

bDisplayAsDefault
Vlastnost DISPID_AMBIENT_DISPLAYASDEFAULT.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

CComControlBase::GetAmbientDisplayName

Načte DISPID_AMBIENT_DISPLAYNAME, název kontejneru zadaný do ovládacího prvku.

HRESULT GetAmbientDisplayName(BSTR& bstrDisplayName);

Parametry

bstrDisplayName
Vlastnost DISPID_AMBIENT_DISPLAYNAME.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

CComControlBase::GetAmbientFont

Načte ukazatel na okolí IFont kontejneru.

HRESULT GetAmbientFont(IFont** ppFont);

Parametry

ppFont
Ukazatel na okolí IFont rozhraní kontejneru.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

Poznámky

Pokud je vlastnost NULL, ukazatel je NULL. Pokud ukazatel není NULL, volající musí ukazatel uvolnit.

CComControlBase::GetAmbientFontDisp

Načte ukazatel na okolí IFontDisp dispečerského rozhraní kontejneru.

HRESULT GetAmbientFontDisp(IFontDisp** ppFont);

Parametry

ppFont
Ukazatel na okolí IFontDisp dispečerského rozhraní kontejneru.

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

Poznámky

Pokud je vlastnost NULL, ukazatel je NULL. Pokud ukazatel není NULL, volající musí ukazatel uvolnit.

CComControlBase::GetAmbientForeColor

Načte DISPID_AMBIENT_FORECOLOR, barvu okolí popředí pro všechny ovládací prvky definované kontejnerem.

HRESULT GetAmbientForeColor(OLE_COLOR& ForeColor);

Parametry

ForeColor
Vlastnost DISPID_AMBIENT_FORECOLOR.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

CComControlBase::GetAmbientLocaleID

Načte DISPID_AMBIENT_LOCALEID identifikátor jazyka používaného kontejnerem.

HRESULT GetAmbientLocaleID(LCID& lcid);

Parametry

lcid
Vlastnost DISPID_AMBIENT_LOCALEID.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

Poznámky

Ovládací prvek může tento identifikátor použít k přizpůsobení uživatelského rozhraní různým jazykům.

CComControlBase::GetAmbientMessageReflect

Načte DISPID_AMBIENT_MESSAGEREFLECT, příznak označující, jestli kontejner chce přijímat zprávy okna (například WM_DRAWITEM) jako události.

HRESULT GetAmbientMessageReflect(BOOL& bMessageReflect);

Parametry

bMessageReflect
Vlastnost DISPID_AMBIENT_MESSAGEREFLECT.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

CComControlBase::GetAmbientPalette

Načte DISPID_AMBIENT_PALETTE, který se používá pro přístup ke službě HPALETTE kontejneru.

HRESULT GetAmbientPalette(HPALETTE& hPalette);

Parametry

hPalette
Vlastnost DISPID_AMBIENT_PALETTE.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

CComControlBase::GetAmbientProperty

Načte vlastnost kontejneru zadanou dispid.

HRESULT GetAmbientProperty(DISPID dispid, VARIANT& var);

Parametry

dispid
Identifikátor vlastnosti kontejneru, která se má načíst.

var
Proměnná pro příjem vlastnosti

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

Poznámky

ATL poskytuje sadu pomocných funkcí pro načtení konkrétních vlastností, například CComControlBase::GetAmbientBackColor. Pokud není k dispozici vhodná metoda, použijte GetAmbientProperty.

CComControlBase::GetAmbientRightToLeft

Načte DISPID_AMBIENT_RIGHTTOLEFT, směr zobrazení obsahu kontejnerem.

HRESULT GetAmbientRightToLeft(BOOL& bRightToLeft);

Parametry

bRightToLeft
Vlastnost DISPID_AMBIENT_RIGHTTOLEFT. Pokud se obsah zobrazuje zprava doleva, nastavte hodnotu TRUE, pokud je zobrazena zleva doprava.

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

CComControlBase::GetAmbientScaleUnits

Načte DISPID_AMBIENT_SCALEUNITS, okolní jednotky kontejneru (například palce nebo centimetry) pro zobrazení popisků.

HRESULT GetAmbientScaleUnits(BSTR& bstrScaleUnits);

Parametry

bstrScaleUnits
Vlastnost DISPID_AMBIENT_SCALEUNITS.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

CComControlBase::GetAmbientShowGrabHandles

Načte DISPID_AMBIENT_SHOWGRABHANDLES, příznak označující, jestli kontejner umožňuje ovládacímu prvku zobrazit úchyty pro sebe, když je aktivní.

HRESULT GetAmbientShowGrabHandles(BOOL& bShowGrabHandles);

Parametry

bShowGrabHandles
Vlastnost DISPID_AMBIENT_SHOWGRABHANDLES.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

CComControlBase::GetAmbientShowHatching

Načte DISPID_AMBIENT_SHOWHATCHING, příznak označující, jestli kontejner umožňuje, aby se ovládací prvek zobrazoval s šrafovaným vzorem, když je uživatelské rozhraní ovládacího prvku aktivní.

HRESULT GetAmbientShowHatching(BOOL& bShowHatching);

Parametry

bShowHatching
Vlastnost DISPID_AMBIENT_SHOWHATCHING.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

CComControlBase::GetAmbientSupportsMnemonics

Načte DISPID_AMBIENT_SUPPORTSMNEMONICS příznak označující, jestli kontejner podporuje mnemonics klávesnice.

HRESULT GetAmbientSupportsMnemonics(BOOL& bSupportsMnemonics);

Parametry

bSupportsMnemonics
Vlastnost DISPID_AMBIENT_SUPPORTSMNEMONICS.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

CComControlBase::GetAmbientTextAlign

Načte DISPID_AMBIENT_TEXTALIGN, zarovnání textu upřednostňované kontejnerem: 0 pro obecné zarovnání (čísla vpravo, text vlevo), 1 pro zarovnání doleva, 2 pro zarovnání na střed a 3 pro zarovnání doprava.

HRESULT GetAmbientTextAlign(short& nTextAlign);

Parametry

nTextAlign
Vlastnost DISPID_AMBIENT_TEXTALIGN.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

CComControlBase::GetAmbientTopToBottom

Načte DISPID_AMBIENT_TOPTOBOTTOM, směr zobrazení obsahu kontejnerem.

HRESULT GetAmbientTopToBottom(BOOL& bTopToBottom);

Parametry

bTopToBottom
Vlastnost DISPID_AMBIENT_TOPTOBOTTOM. Pokud se text zobrazuje shora dolů, nastavte hodnotu PRAVDA, pokud je zobrazena shora dolů.

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

CComControlBase::GetAmbientUIDead

Načte DISPID_AMBIENT_UIDEAD, příznak označující, jestli kontejner chce, aby ovládací prvek reagoval na akce uživatelského rozhraní.

HRESULT GetAmbientUIDead(BOOL& bUIDead);

Parametry

bUIDead
Vlastnost DISPID_AMBIENT_UIDEAD.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

Poznámky

Pokud je hodnota TRUE, ovládací prvek by neměl reagovat. Tento příznak platí bez ohledu na příznak DISPID_AMBIENT_USERMODE. Viz CComControlBase::GetAmbientUserMode.

CComControlBase::GetAmbientUserMode

Načte DISPID_AMBIENT_USERMODE, příznak označující, jestli je kontejner v režimu spuštění (TRUE) nebo v režimu návrhu (FALSE).

HRESULT GetAmbientUserMode(BOOL& bUserMode);

Parametry

bUserMode
Vlastnost DISPID_AMBIENT_USERMODE.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

CComControlBase::GetDirty

Vrátí hodnotu datového členu m_bRequiresSave.

BOOL GetDirty();

Návratová hodnota

Vrátí hodnotu m_bRequiresSave datového členu.

Poznámky

Tato hodnota je nastavena pomocí CComControlBase::SetDirty.

CComControlBase::GetZoomInfo

Načte hodnoty x a y čitátoru a jmenovatele faktoru lupy pro ovládací prvek aktivovaný pro místní úpravy.

void GetZoomInfo(ATL_DRAWINFO& di);

Parametry

Di
Struktura, která bude obsahovat čitatel a jmenovatel faktoru lupy. Další informace najdete v tématu ATL_DRAWINFO.

Poznámky

Faktor přiblížení je poměr přirozené velikosti ovládacího prvku v aktuálním rozsahu.

CComControlBase::InPlaceActivate

Způsobí, že ovládací prvek přejde z neaktivního stavu na jakýkoli stav, který příkaz v iVerb indikuje.

HRESULT InPlaceActivate(LONG iVerb, const RECT* prcPosRect = NULL);

Parametry

iVerb
Hodnota označující akci, kterou má provést IOleObjectImpl::D oVerb.

prcPosRect
Ukazatel na pozici místního ovládacího prvku.

Návratová hodnota

Jedna ze standardních hodnot HRESULT.

Poznámky

Před aktivací tato metoda zkontroluje, zda má ovládací prvek klientskou lokalitu, zkontroluje, kolik ovládacího prvku je viditelné, a získá umístění ovládacího prvku v nadřazené okně. Po aktivaci ovládacího prvku tato metoda aktivuje uživatelské rozhraní ovládacího prvku a řekne kontejneru, aby byl ovládací prvek viditelný.

Tato metoda také načte IOleInPlaceSiteukazatel rozhraní , IOleInPlaceSiteEx, nebo IOleInPlaceSiteWindowless rozhraní pro ovládací prvek a uloží jej do datového členu třídy ovládacího prvku CComControlBase::m_spInPlaceSite. Datové členy třídy ovládacího prvku CComControlBase::m_bInPlaceSiteEx, CComControlBase::m_bWndLess, CComControlBase::m_bWasOnceWindowless a CComControlBase::m_bNegotiatedWnd jsou podle potřeby nastaveny na true.

CComControlBase::InternalGetSite

Voláním této metody zadejte dotaz na řídicí web pro ukazatel na identifikované rozhraní.

HRESULT InternalGetSite(REFIID riid, void** ppUnkSite);

Parametry

riid
IDENTIFIKÁTOR IID ukazatele rozhraní, který by měl být vrácen v ppUnkSite.

ppUnkSite
Adresa proměnné ukazatele, která obdrží ukazatel rozhraní požadovaný v riidu.

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

Poznámky

Pokud lokalita podporuje rozhraní požadované v riidu, je ukazatel vrácen pomocí ppUnkSite. V opačném případě je ppUnkSite nastavena na hodnotu NULL.

CComControlBase::m_bAutoSize

Příznak označující ovládací prvek nemůže mít jinou velikost.

unsigned m_bAutoSize:1;

Poznámky

Tento příznak je zaškrtnut a IOleObjectImpl::SetExtent pokud true, způsobí, že funkce vrátí E_FAIL.

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

Pokud přidáte možnost Automatická velikost na kartě Vlastnosti akcie průvodce ovládacím prvku ATL, průvodce automaticky vytvoří tento datový člen ve vaší třídě ovládacího prvku, vytvoří metody put a get pro vlastnost a podporuje IPropertyNotifySink automaticky upozornit kontejner při změně vlastnosti.

CComControlBase::m_bDrawFromNatural

Příznak označující, že IDataObjectImpl::GetData a CComControlBase::GetZoomInfo měl by nastavit velikost ovládacího prvku, m_sizeNatural nikoli z m_sizeExtent.

unsigned m_bDrawFromNatural:1;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

CComControlBase::m_bDrawGetDataInHimetric

Příznak označující, že IDataObjectImpl::GetData by se při kreslení měly používat jednotky HIMETRIC a ne pixely.

unsigned m_bDrawGetDataInHimetric:1;

Poznámky

Každá logická jednotka HIMETRIC je 0,01 milimetru.

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

CComControlBase::m_bInPlaceActive

Příznak označující, že je ovládací prvek aktivní.

unsigned m_bInPlaceActive:1;

Poznámky

To znamená, že ovládací prvek je viditelný a jeho okno je viditelné, ale jeho nabídky a panely nástrojů nemusí být aktivní. Příznak m_bUIActive označuje také uživatelské rozhraní ovládacího prvku, například nabídky, je také aktivní.

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

CComControlBase::m_bInPlaceSiteEx

Příznak indikující, že kontejner podporuje IOleInPlaceSiteEx funkce ovládacího prvku ROZHRANÍ a OCX96, jako jsou například ovládací prvky bez oken a blikání bez blikání.

unsigned m_bInPlaceSiteEx:1;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

Datový člen m_spInPlaceSite odkazuje na rozhraní IOleInPlaceSite, IOleInPlaceSiteEx nebo IOleInPlaceSiteWindowless v závislosti na hodnotě m_bWndLess a m_bInPlaceSiteEx příznaky. (Datový člen m_bNegotiatedWnd musí být true, m_spInPlaceSite aby ukazatel byl platný.)

Pokud m_bWndLess je FALSE a m_bInPlaceSiteEx je PRAVDA, m_spInPlaceSite je IOleInPlaceSiteEx ukazatel rozhraní. Viz m_spInPlaceSite tabulky zobrazující relaci mezi těmito třemi datovými členy.

CComControlBase::m_bNegotiatedWnd

Příznak označující, jestli ovládací prvek vyjednal s kontejnerem o podpoře funkcí ovládacího prvku OCX96 (například blikání bez oken a bez oken) a jestli je ovládací prvek otevřený nebo bez oken.

unsigned m_bNegotiatedWnd:1;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

Příznak m_bNegotiatedWnd musí být true, m_spInPlaceSite aby ukazatel byl platný.

CComControlBase::m_bRecomposeOnResize

Příznak označující, že ovládací prvek chce znovu sestavit prezentaci, když kontejner změní velikost zobrazení ovládacího prvku.

unsigned m_bRecomposeOnResize:1;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

Tento příznak je kontrolován IOleObjectImpl ::SetExtent a pokud TRUE, SetExtent upozorní kontejner na změny zobrazení. Pokud je tento příznak nastaven, měl by být také nastaven OLEMISC_RECOMPOSEONRESIZE bit v výčtu OLEMISC .

CComControlBase::m_bRequiresSave

Příznak označující, že se ovládací prvek od posledního uložení změnil.

unsigned m_bRequiresSave:1;

Poznámky

Hodnotu m_bRequiresSave lze nastavit pomocí CComControlBase::SetDirty a načíst pomocí CComControlBase::GetDirty.

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

CComControlBase::m_bResizeNatural

Příznak označující, že ovládací prvek chce změnit velikost přirozeného rozsahu (jeho neškálované fyzické velikosti), když kontejner změní velikost zobrazení ovládacího prvku.

unsigned m_bResizeNatural:1;

Poznámky

Tento příznak je zaškrtnut a IOleObjectImpl::SetExtent pokud TRUE, velikost předaná SetExtent je přiřazena m_sizeNatural.

Velikost předaná SetExtent vždy je přiřazena m_sizeExtentbez ohledu na hodnotu m_bResizeNatural.

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

CComControlBase::m_bUIActive

Příznak označující uživatelské rozhraní ovládacího prvku, například nabídky a panely nástrojů, je aktivní.

unsigned m_bUIActive:1;

Poznámky

Příznak m_bInPlaceActive označuje, že ovládací prvek je aktivní, ale ne, že jeho uživatelské rozhraní je aktivní.

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

CComControlBase::m_bUsingWindowRgn

Příznak označující, že ovládací prvek používá oblast okna zadanou kontejnerem.

unsigned m_bUsingWindowRgn:1;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

CComControlBase::m_bWasOnceWindowless

Příznak označující, že ovládací prvek je bez oken, ale teď může nebo nemusí být bez oken.

unsigned m_bWasOnceWindowless:1;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

CComControlBase::m_bWindowOnly

Příznak označující, že ovládací prvek by měl být v okně, i když kontejner podporuje ovládací prvky bez oken.

unsigned m_bWindowOnly:1;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

CComControlBase::m_bWndLess

Příznak označující, že ovládací prvek je bez oken.

unsigned m_bWndLess:1;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

Datový člen m_spInPlaceSite odkazuje na IOleInPlaceSite, IOleInPlaceSiteEx nebo IOleInPlaceSiteWindowless rozhraní v závislosti na hodnotě m_bWndLess a CComControlBase::m_bInPlaceSiteEx příznaky. (Datový člen CComControlBase::m_bNegotiatedWnd musí být TRUE pro CComControlBase::m_spInPlaceSite ukazatel platný.)

Pokud m_bWndLess je pravda, m_spInPlaceSite je IOleInPlaceSiteWindowless ukazatel rozhraní. Viz CComControlBase::m_spInPlaceSite tabulky zobrazující úplnou relaci mezi těmito datovými členy.

CComControlBase::m_hWndCD

Obsahuje odkaz na popisovač okna přidružený k ovládacímu prvku.

HWND& m_hWndCD;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

CComControlBase::m_nFreezeEvents

Počet, kolikrát kontejner zablokoval události (odmítl přijímat události), aniž by došlo k zamrznutí událostí (přijetí událostí).

short m_nFreezeEvents;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

CComControlBase::m_rcPos

Pozice v pixelech ovládacího prvku vyjádřená v souřadnicích kontejneru.

RECT m_rcPos;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

CComControlBase::m_sizeExtent

Rozsah ovládacího prvku v jednotkách HIMETRIC (každá jednotka je 0,01 milimetrů) pro konkrétní displej.

SIZE m_sizeExtent;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

Tato velikost se škáluje podle zobrazení. Fyzická velikost ovládacího prvku je zadána v datovém členu m_sizeNatural a je pevná.

Velikost můžete převést na pixely pomocí globální funkce AtlHiMetricToPixel.

CComControlBase::m_sizeNatural

Fyzická velikost ovládacího prvku v jednotkách HIMETRIC (každá jednotka je 0,01 milimetrů).

SIZE m_sizeNatural;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

Tato velikost je pevná, zatímco velikost v m_sizeExtent zobrazení se škáluje.

Velikost můžete převést na pixely pomocí globální funkce AtlHiMetricToPixel.

CComControlBase::m_spAdviseSink

Přímý ukazatel na připojení poradce pro kontejner (IAdviseSink kontejneru).

CComPtr<IAdviseSink>
    m_spAdviseSink;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

CComControlBase::m_spAmbientDispatch

Objekt CComDispatchDriver , který umožňuje načíst a nastavit vlastnosti objektu IDispatch pomocí ukazatele.

CComDispatchDriver m_spAmbientDispatch;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

CComControlBase::m_spClientSite

Ukazatel na klientskou lokalitu ovládacího prvku v rámci kontejneru.

CComPtr<IOleClientSite>
    m_spClientSite;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

CComControlBase::m_spDataAdviseHolder

Poskytuje standardní způsob, jak uchovávat poradní připojení mezi datovými objekty a poradit jímky.

CComPtr<IDataAdviseHolder>
    m_spDataAdviseHolder;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

Datový objekt je ovládací prvek, který může přenášet data a který implementuje IDataObject, jehož metody určují formát a přenos média dat.

m_spDataAdviseHolder Rozhraní implementuje metody IDataObject::D Advise a IDataObject::D Unadvise pro vytvoření a odstranění poradních připojení ke kontejneru. Kontejner ovládacího prvku musí implementovat jímku s doporučením tím, že podporuje rozhraní IAdviseSink .

CComControlBase::m_spInPlaceSite

Ukazatel na ukazatel rozhraní IOleInPlaceSite, IOleInPlaceSiteEx nebo IOleInPlaceSiteWindowless kontejneru.

CComPtr<IOleInPlaceSiteWindowless>
    m_spInPlaceSite;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

Ukazatel m_spInPlaceSite je platný pouze v případě, že příznak m_bNegotiatedWnd má hodnotu TRUE.

Následující tabulka ukazuje, jak m_spInPlaceSite typ ukazatele závisí na příznakech m_bWndLess a m_bInPlaceSiteEx datových členů:

typ m_spInPlaceSite hodnota m_bWndLess hodnota m_bInPlaceSiteEx
IOleInPlaceSiteWindowless TRUE TRUE nebo FALSE
IOleInPlaceSiteEx FALSE TRUE
IOleInPlaceSite FALSE FALSE

CComControlBase::m_spOleAdviseHolder

Poskytuje standardní implementaci způsobu, jak uchovávat poradní připojení.

CComPtr<IOleAdviseHolder>
    m_spOleAdviseHolder;

Poznámky

Poznámka:

Chcete-li tento datový člen použít v rámci třídy ovládacího prvku, musíte jej deklarovat jako datový člen ve třídě ovládacího prvku. Třída ovládacího prvku nezdědí tento datový člen ze základní třídy, protože je deklarována v rámci sjednocení v základní třídě.

m_spOleAdviseHolder Rozhraní implementuje metody IOleObject::Advise a IOleObject::Unadvise pro vytvoření a odstranění poradních připojení ke kontejneru. Kontejner ovládacího prvku musí implementovat jímku s doporučením tím, že podporuje rozhraní IAdviseSink .

CComControlBase::OnDraw

Přepište tuto metodu tak, aby nakreslela váš ovládací prvek.

virtual HRESULT OnDraw(ATL_DRAWINFO& di);

Parametry

Di
Odkaz na ATL_DRAWINFO strukturu, která obsahuje informace o výkresu, jako je aspekt kreslení, hranice ovládacího prvku a zda je výkres optimalizovaný nebo ne.

Návratová hodnota

Standardní hodnota HRESULT.

Poznámky

Výchozí OnDraw odstraní nebo obnoví kontext zařízení nebo nic nedělá v závislosti na příznakech nastavených v CComControlBase::OnDrawAdvanced.

Metoda OnDraw se automaticky přidá do třídy řízení při vytváření ovládacího prvku pomocí Průvodce ovládacími prvky ATL. Ve výchozím nastavení OnDraw průvodce nakreslí obdélník s popiskem ATL 8.0.

Příklad

Podívejte se na příklad pro CComControlBase::GetAmbientAppearance.

CComControlBase::OnDrawAdvanced

Výchozí nastavení OnDrawAdvanced připraví normalizovaný kontext zařízení pro kreslení a pak zavolá metodu OnDraw třídy řízení.

virtual HRESULT OnDrawAdvanced(ATL_DRAWINFO& di);

Parametry

Di
Odkaz na ATL_DRAWINFO strukturu, která obsahuje informace o výkresu, jako je aspekt kreslení, hranice ovládacího prvku a zda je výkres optimalizovaný nebo ne.

Návratová hodnota

Standardní hodnota HRESULT.

Poznámky

Tuto metodu přepište, pokud chcete přijmout kontext zařízení předaný kontejnerem bez jeho normalizace.

Další podrobnosti najdete v tématu CComControlBase::OnDraw .

CComControlBase::OnKillFocus

Zkontroluje, jestli je ovládací prvek na místě aktivní a má platnou lokalitu ovládacího prvku, a pak informuje kontejner, že ovládací prvek ztratil fokus.

LRESULT OnKillFocus(UINT /* nMsg */,
    WPARAM /* wParam */,
    LPARAM /* lParam */,
    BOOL& bHandled);

Parametry

nMsg
Vyhrazeno.

wParam
Vyhrazeno.

lParam
Vyhrazeno.

bHandled
Příznak označující, jestli byla zpráva okna úspěšně zpracována. Výchozí hodnota je NEPRAVDA.

Návratová hodnota

Vždy vrátí hodnotu 1.

CComControlBase::OnMouseActivate

Zkontroluje, jestli je uživatelské rozhraní v uživatelském režimu, a pak aktivuje ovládací prvek.

LRESULT OnMouseActivate(UINT /* nMsg */,
    WPARAM /* wParam */,
    LPARAM /* lParam */,
    BOOL& bHandled);

Parametry

nMsg
Vyhrazeno.

wParam
Vyhrazeno.

lParam
Vyhrazeno.

bHandled
Příznak označující, jestli byla zpráva okna úspěšně zpracována. Výchozí hodnota je NEPRAVDA.

Návratová hodnota

Vždy vrátí hodnotu 1.

CComControlBase::OnPaint

Připraví kontejner na malování, získá klientskou oblast ovládacího prvku a pak zavolá metodu třídy OnDrawAdvanced ovládacího prvku.

LRESULT OnPaint(UINT /* nMsg */,
    WPARAM wParam,
    LPARAM /* lParam */,
    BOOL& /* lResult */);

Parametry

nMsg
Vyhrazeno.

wParam
Existující HDC.

lParam
Vyhrazeno.

LResult
Vyhrazeno.

Návratová hodnota

Vždy vrátí nulu.

Poznámky

Pokud wParam není NULL, OnPaint předpokládá, že obsahuje platný HDC a používá jej místo CComControlBase::m_hWndCD.

CComControlBase::OnSetFocus

Zkontroluje, jestli je ovládací prvek v místě aktivní a má platnou lokalitu ovládacího prvku, a pak informuje kontejner, který ovládací prvek získal fokus.

LRESULT OnSetFocus(UINT /* nMsg */,
    WPARAM /* wParam */,
    LPARAM /* lParam */,
    BOOL& bHandled);

Parametry

nMsg
Vyhrazeno.

wParam
Vyhrazeno.

lParam
Vyhrazeno.

bHandled
Příznak označující, jestli byla zpráva okna úspěšně zpracována. Výchozí hodnota je NEPRAVDA.

Návratová hodnota

Vždy vrátí hodnotu 1.

Poznámky

Odešle do kontejneru oznámení, že ovládací prvek obdržel fokus.

CComControlBase::P reTranslateAccelerator

Tuto metodu přepište tak, aby poskytovala vlastní obslužné rutiny akcelerátoru klávesnice.

BOOL PreTranslateAccelerator(LPMSG /* pMsg */,
    HRESULT& /* hRet */);

Parametry

pMsg
Vyhrazeno.

hRet
Vyhrazeno.

Návratová hodnota

Ve výchozím nastavení vrátí hodnotu FALSE.

CComControlBase::SendOnClose

Upozorní všechny poradní jímky zaregistrované u držitele rady, že ovládací prvek byl uzavřen.

HRESULT SendOnClose();

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

Poznámky

Odešle oznámení, že ovládací prvek zavřel informační jímky.

CComControlBase::SendOnDataChange

Upozorní všechny poradní jímky zaregistrované u držitele doporučení, že došlo ke změně řídicích dat.

HRESULT SendOnDataChange(DWORD advf = 0);

Parametry

advf
Poradit příznaky, které určují způsob volání IAdviseSink::OnDataChange je provedeno. Hodnoty jsou z výčtu ADVF .

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

CComControlBase::SendOnRename

Upozorní všechny poradní jímky zaregistrované u držitele rady, že ovládací prvek má nový moniker.

HRESULT SendOnRename(IMoniker* pmk);

Parametry

Pmk
Ukazatel na nový moniker ovládacího prvku.

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

Poznámky

Odešle oznámení o změně monikeru ovládacího prvku.

CComControlBase::SendOnSave

Upozorní všechny poradní jímky zaregistrované u držitele rady, že ovládací prvek byl uložen.

HRESULT SendOnSave();

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

Poznámky

Odešle oznámení, že ovládací prvek právě uložil data.

CComControlBase::SendOnViewChange

Upozorní všechny registrované jímky rady, že se změnilo zobrazení ovládacího prvku.

HRESULT SendOnViewChange(DWORD dwAspect, LONG lindex = -1);

Parametry

dwAspect
Aspekt nebo zobrazení ovládacího prvku

lindex
Část zobrazení, která se změnila. Je platný pouze -1.

Návratová hodnota

Vrátí S_OK při úspěchu nebo chybu HRESULT při selhání.

Poznámky

SendOnViewChange volá IAdviseSink::OnViewChange. Jediná hodnota lindex , která je aktuálně podporována, je -1, což značí, že celé zobrazení je zajímavé.

CComControlBase::SetControlFocus

Nastaví nebo odebere fokus klávesnice na ovládací prvek nebo z ovládacího prvku.

BOOL SetControlFocus(BOOL bGrab);

Parametry

bGrab
Pokud je hodnota TRUE, nastaví fokus klávesnice na ovládací prvek volání. Pokud je nepravda, odebere fokus klávesnice z ovládacího prvku volání, pokud má fokus.

Návratová hodnota

Vrátí hodnotu TRUE, pokud ovládací prvek úspěšně obdrží fokus; jinak NEPRAVDA.

Poznámky

U ovládacího prvku s okny se volá funkce Rozhraní API systému Windows SetFocus . U ovládacího prvku bez oken se volá IOleInPlaceSiteWindowless::SetFocus . Prostřednictvím tohoto volání získá ovládací prvek bez oken fokus klávesnice a může reagovat na zprávy okna.

CComControlBase::SetDirty

Nastaví datový člen m_bRequiresSave na hodnotu v nástroji bDirty.

void SetDirty(BOOL bDirty);

Parametry

bDirty
Hodnota datového členu CComControlBase::m_bRequiresSave.

Poznámky

SetDirty(TRUE) má být volána příznak, že se ovládací prvek od posledního uložení změnil. Hodnota m_bRequiresSave je načtena pomocí CComControlBase::GetDirty.

Viz také

CComControl – třída
Přehled třídy