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 IOleInPlaceSite
ukazatel 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_sizeExtent
bez 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.