Klasa CComControlBase
Ta klasa udostępnia metody tworzenia kontrolek ATL i zarządzania nimi.
Ważne
Tej klasy i jej składowych nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows.
Składnia
class ATL_NO_VTABLE CComControlBase
Elementy członkowskie
Definicje typów publicznych
Nazwa/nazwisko | opis |
---|---|
CComControlBase::AppearanceType | Zastąpsuj, jeśli właściwość m_nAppearance stockowa nie jest typu short . |
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CComControlBase::CComControlBase | Konstruktor. |
CComControlBase::~CComControlBase | Destruktora. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CComControlBase::ControlQueryInterface | Pobiera wskaźnik do żądanego interfejsu. |
CComControlBase::D oesVerbActivate | Sprawdza, czy parametr iVerb używany przez IOleObjectImpl::DoVerb aktywowanie interfejsu użytkownika kontrolki (iVerb równa OLEIVERB_UIACTIVATE), definiuje akcję podjętą, gdy użytkownik dwukrotnie kliknie kontrolkę (iVerb równa OLEIVERB_PRIMARY), wyświetli kontrolkę (iVerb równa OLEIVERB_SHOW) lub aktywuje kontrolkę (iVerb równa się OLEIVERB_INPLACEACTIVATE). |
CComControlBase::D oesVerbUIActivate | Sprawdza, czy parametr iVerb używany przez IOleObjectImpl::DoVerb program powoduje aktywowanie interfejsu użytkownika kontrolki i zwraca wartość TRUE. |
CComControlBase::D oVerbProperties | Wyświetla strony właściwości kontrolki. |
CComControlBase::FireViewChange | Wywołaj tę metodę, aby poinformować kontener o ponownym rysowanie kontrolki lub powiadomić zarejestrowane ujścia, że widok kontrolki uległ zmianie. |
CComControlBase::GetAmbientAppearance | Pobiera DISPID_AMBIENT_APPEARANCE, bieżące ustawienie wyglądu kontrolki: 0 dla płaskiej i 1 dla 3D. |
CComControlBase::GetAmbientAutoClip | Pobiera DISPID_AMBIENT_AUTOCLIP flaga wskazująca, czy kontener obsługuje automatyczne wycinanie obszaru wyświetlania kontrolki. |
CComControlBase::GetAmbientBackColor | Pobiera DISPID_AMBIENT_BACKCOLOR, kolor tła otoczenia dla wszystkich kontrolek zdefiniowanych przez kontener. |
CComControlBase::GetAmbientCharSet | Pobiera DISPID_AMBIENT_CHARSET, zestaw znaków otoczenia dla wszystkich kontrolek zdefiniowanych przez kontener. |
CComControlBase::GetAmbientCodePage | Pobiera DISPID_AMBIENT_CODEPAGE, zestaw znaków otoczenia dla wszystkich kontrolek zdefiniowanych przez kontener. |
CComControlBase::GetAmbientDisplayAsDefault | Pobiera DISPID_AMBIENT_DISPLAYASDEFAULT, flaga, która ma wartość TRUE, jeśli kontener oznaczył kontrolkę w tej witrynie jako przycisk domyślny, a zatem kontrolka przycisku powinna rysować się z grubszą ramką. |
CComControlBase::GetAmbientDisplayName | Pobiera DISPID_AMBIENT_DISPLAYNAME, a nazwa kontenera została dostarczona do kontrolki. |
CComControlBase::GetAmbientFont | Pobiera wskaźnik do interfejsu otoczenia IFont kontenera. |
CComControlBase::GetAmbientFontDisp | Pobiera wskaźnik do interfejsu wysyłania otoczenia IFontDisp kontenera. |
CComControlBase::GetAmbientForeColor | Pobiera DISPID_AMBIENT_FORECOLOR, kolor pierwszego planu otoczenia dla wszystkich kontrolek zdefiniowanych przez kontener. |
CComControlBase::GetAmbientLocaleID | Pobiera DISPID_AMBIENT_LOCALEID identyfikator języka używanego przez kontener. |
CComControlBase::GetAmbientMessageReflect | Pobiera DISPID_AMBIENT_MESSAGEREFLECT flagę wskazującą, czy kontener chce odbierać komunikaty okna (takie jak WM_DRAWITEM) jako zdarzenia. |
CComControlBase::GetAmbientPalette | Pobiera DISPID_AMBIENT_PALETTE używane do uzyskiwania dostępu do hpALETTE kontenera. |
CComControlBase::GetAmbientProperty | Pobiera właściwość kontenera określoną przez identyfikator. |
CComControlBase::GetAmbientRightToLeft | Pobiera DISPID_AMBIENT_RIGHTTOLEFT kierunek wyświetlania zawartości przez kontener. |
CComControlBase::GetAmbientScaleUnits | Pobiera DISPID_AMBIENT_SCALEUNITS, jednostki otoczenia kontenera (takie jak cale lub centymetry) na potrzeby wyświetlania etykiet. |
CComControlBase::GetAmbientShowGrabHandles | Pobiera DISPID_AMBIENT_SHOWGRABHANDLES, flaga wskazująca, czy kontener umożliwia kontrolce wyświetlanie uchwytów do pobrania dla siebie, gdy są aktywne. |
CComControlBase::GetAmbientShowHatching | Pobiera DISPID_AMBIENT_SHOWHATCHING flaga wskazująca, czy kontener umożliwia użytkownikowi wyświetlanie się za pomocą wzorca kreskowanego, gdy interfejs użytkownika jest aktywny. |
CComControlBase::GetAmbientSupportsMnemonics | Pobiera DISPID_AMBIENT_SUPPORTSMNEMONICS flagę wskazującą, czy kontener obsługuje mnemonics klawiatury. |
CComControlBase::GetAmbientTextAlign | Pobiera DISPID_AMBIENT_TEXTALIGN, wyrównanie tekstu preferowane przez kontener: 0 dla ogólnego wyrównania (liczby w prawo, tekst w lewo), 1 dla wyrównania lewego, 2 dla wyrównania do środka i 3 w celu wyrównania do prawej. |
CComControlBase::GetAmbientTopToBottom | Pobiera DISPID_AMBIENT_TOPTOBOTTOM, kierunek wyświetlania zawartości przez kontener. |
CComControlBase::GetAmbientUIDead | Pobiera DISPID_AMBIENT_UIDEAD flagę wskazującą, czy kontener chce, aby kontrolka odpowiadała na akcje interfejsu użytkownika. |
CComControlBase::GetAmbientUserMode | Pobiera DISPID_AMBIENT_USERMODE flagę wskazującą, czy kontener jest w trybie uruchamiania (TRUE) czy w trybie projektowania (FALSE). |
CComControlBase::GetDirty | Zwraca wartość elementu członkowskiego m_bRequiresSave danych . |
CComControlBase::GetZoomInfo | Pobiera wartości x i y licznika i mianownika współczynnika powiększenia dla kontrolki aktywowanej do edycji w miejscu. |
CComControlBase::InPlaceActivate | Powoduje przejście kontrolki ze stanu nieaktywnego na dowolny stan czasownika w elembie iVerb . |
CComControlBase::InternalGetSite | Wywołaj tę metodę, aby wysłać zapytanie do lokacji sterowania dla wskaźnika do zidentyfikowanego interfejsu. |
CComControlBase::OnDraw | Zastąpij tę metodę, aby narysować kontrolkę. |
CComControlBase::OnDrawAdvanced | Ustawienie domyślne OnDrawAdvanced przygotowuje znormalizowany kontekst urządzenia do rysowania, a następnie wywołuje metodę klasy kontrolnej OnDraw . |
CComControlBase::OnKillFocus | Sprawdza, czy kontrolka jest aktywna i ma prawidłową lokację sterowania, a następnie informuje kontener, że kontrolka straciła fokus. |
CComControlBase::OnMouseActivate | Sprawdza, czy interfejs użytkownika jest w trybie użytkownika, a następnie aktywuje kontrolkę. |
CComControlBase::OnPaint | Przygotowuje kontener do malowania, pobiera obszar klienta kontrolki, a następnie wywołuje metodę klasy kontrolnej OnDraw . |
CComControlBase::OnSetFocus | Sprawdza, czy kontrolka jest aktywna i ma prawidłową lokację sterowania, a następnie informuje kontener, że kontrolka zyskała fokus. |
CComControlBase::P reTranslateAccelerator | Zastąp tę metodę, aby udostępnić własne programy obsługi akceleratora klawiatury. |
CComControlBase::SendOnClose | Powiadamia wszystkie ujścia doradcze zarejestrowane z posiadaczem doradcy, że kontrola została zamknięta. |
CComControlBase::SendOnDataChange | Powiadamia wszystkie ujścia porady zarejestrowane u posiadacza doradcy, że dane kontrolne uległy zmianie. |
CComControlBase::SendOnRename | Powiadamia wszystkie ujścia doradcze zarejestrowane z posiadaczem doradcy, że kontrola ma nowy pseudonim. |
CComControlBase::SendOnSave | Powiadamia wszystkie ujścia doradcze zarejestrowane z posiadaczem doradcy, że kontrola została zapisana. |
CComControlBase::SendOnViewChange | Powiadamia wszystkie zarejestrowane ujścia porad, że widok kontrolki uległ zmianie. |
CComControlBase::SetControlFocus | Ustawia lub usuwa fokus klawiatury do lub z kontrolki. |
CComControlBase::SetDirty | Ustawia element członkowski m_bRequiresSave danych na wartość w elemencie bDirty. |
Publiczne elementy członkowskie danych
Nazwa/nazwisko | opis |
---|---|
CComControlBase::m_bAutoSize | Flaga wskazująca, że kontrolka nie może mieć innego rozmiaru. |
CComControlBase::m_bDrawFromNatural | Flaga wskazująca, że IDataObjectImpl::GetData i CComControlBase::GetZoomInfo powinna ustawić rozmiar kontrolki z m_sizeNatural , a nie z m_sizeExtent . |
CComControlBase::m_bDrawGetDataInHimetric | Flaga wskazująca, że IDataObjectImpl::GetData podczas rysowania należy używać jednostek HIMETRIC, a nie pikseli. |
CComControlBase::m_bInPlaceActive | Flaga wskazująca, że kontrolka jest aktywna w miejscu. |
CComControlBase::m_bInPlaceSiteEx | Flaga wskazująca, że kontener obsługuje IOleInPlaceSiteEx interfejs i funkcje sterowania OCX96, takie jak kontrolki bez okien i bez migotania. |
CComControlBase::m_bNegotiatedWnd | Flaga wskazująca, czy kontrolka wynegocjowała z kontenerem obsługę funkcji sterowania OCX96 (takich jak kontrolki bez migotania i bez okien) oraz czy kontrolka jest oknem, czy bez okien. |
CComControlBase::m_bRecomposeOnResize | Flaga wskazująca, że kontrolka chce ponownie skompilować swoją prezentację, gdy kontener zmieni rozmiar wyświetlania kontrolki. |
CComControlBase::m_bRequiresSave | Flaga wskazująca, że kontrolka uległa zmianie od czasu ostatniego zapisania. |
CComControlBase::m_bResizeNatural | Flaga wskazująca, że kontrolka chce zmienić rozmiar swojego naturalnego zakresu (rozmiar fizyczny bez skalowania), gdy kontener zmieni rozmiar wyświetlania kontrolki. |
CComControlBase::m_bUIActive | Flaga wskazująca, że interfejs użytkownika kontrolki, taki jak menu i paski narzędzi, jest aktywny. |
CComControlBase::m_bUsingWindowRgn | Flaga wskazująca, że kontrolka używa regionu okna dostarczonego przez kontener. |
CComControlBase::m_bWasOnceWindowless | Flaga wskazująca, że kontrolka została bez okien, ale może być teraz bez okien lub może nie być. |
CComControlBase::m_bWindowOnly | Flaga wskazująca, że kontrolka powinna być oknem, nawet jeśli kontener obsługuje kontrolki bez okien. |
CComControlBase::m_bWndLess | Flaga wskazująca, że kontrolka jest bez okna. |
CComControlBase::m_hWndCD | Zawiera odwołanie do uchwytu okna skojarzonego z kontrolką. |
CComControlBase::m_nFreezeEvents | Liczba zamarznięć zdarzeń kontenera (odmowa akceptowania zdarzeń) bez interweniowania rozmrażania zdarzeń (akceptacja zdarzeń). |
CComControlBase::m_rcPos | Pozycja w pikselach kontrolki wyrażona we współrzędnych kontenera. |
CComControlBase::m_sizeExtent | Zakres kontrolki w jednostkach HIMETRIC (każda jednostka wynosi 0,01 milimetra) dla określonego wyświetlacza. |
CComControlBase::m_sizeNatural | Fizyczny rozmiar kontrolki w jednostkach HIMETRIC (każda jednostka wynosi 0,01 milimetra). |
CComControlBase::m_spAdviseSink | Bezpośredni wskaźnik do połączenia doradczego w kontenerze (IAdviseSink kontenera). |
CComControlBase::m_spAmbientDispatch | CComDispatchDriver Obiekt, który umożliwia pobieranie i ustawianie właściwości kontenera za pomocą IDispatch wskaźnika. |
CComControlBase::m_spClientSite | Wskaźnik do lokacji klienta kontrolki w kontenerze. |
CComControlBase::m_spDataAdviseHolder | Zapewnia standardową metodę przechowywania połączeń doradczych między obiektami danych i doradzania ujściom. |
CComControlBase::m_spInPlaceSite | Wskaźnik do wskaźnika IOleInPlaceSite, IOleInPlaceSiteEx lub IOleInPlaceSiteSiteWindowless . |
CComControlBase::m_spOleAdviseHolder | Zapewnia standardową implementację sposobu przechowywania połączeń doradczych. |
Uwagi
Ta klasa udostępnia metody tworzenia kontrolek ATL i zarządzania nimi. Klasa CComControl pochodzi z klasy CComControlBase
. Podczas tworzenia kontrolki Standardowa lub DHTML przy użyciu Kreatora kontrolek ATL kreator automatycznie wyprowadzi klasę z CComControlBase
klasy .
Aby uzyskać więcej informacji na temat tworzenia kontrolki, zobacz samouczek ATL. Aby uzyskać więcej informacji na temat Kreatora projektu ATL, zobacz artykuł Tworzenie projektu ATL.
Wymagania
Nagłówek: atlctl.h
CComControlBase::AppearanceType
Zastąpsuj, jeśli właściwość m_nAppearance
stockowa nie jest typu short
.
typedef short AppearanceType;
Uwagi
Kreator kontrolek ATL dodaje m_nAppearance
właściwość stock typu short. Zastąpić AppearanceType
, jeśli używasz innego typu danych.
CComControlBase::CComControlBase
Konstruktor.
CComControlBase(HWND& h);
Parametry
h
Uchwyt do okna skojarzonego z kontrolką.
Uwagi
Inicjuje rozmiar kontrolki do 5080X5080 jednostek HIMETRIC (2"X2") i inicjuje CComControlBase
wartości składowych danych na wartość NULL lub FALSE.
CComControlBase::~CComControlBase
Destruktora.
~CComControlBase();
Uwagi
Jeśli kontrolka jest oknem, ~CComControlBase
niszczy ją, wywołując metodę DestroyWindow.
CComControlBase::ControlQueryInterface
Pobiera wskaźnik do żądanego interfejsu.
virtual HRESULT ControlQueryInterface(const IID& iid,
void** ppv);
Parametry
identyfikator iid
Identyfikator GUID żądanego interfejsu.
ppv
Wskaźnik do wskaźnika interfejsu zidentyfikowany przez identyfikator lub wartość NULL, jeśli interfejs nie zostanie znaleziony.
Uwagi
Obsługuje tylko interfejsy w tabeli mapy COM.
Przykład
// 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
Sprawdza, czy parametr iVerb używany przez IOleObjectImpl::DoVerb
aktywowanie interfejsu użytkownika kontrolki (iVerb równa OLEIVERB_UIACTIVATE), definiuje akcję podjętą, gdy użytkownik dwukrotnie kliknie kontrolkę (iVerb równa OLEIVERB_PRIMARY), wyświetli kontrolkę (iVerb równa OLEIVERB_SHOW) lub aktywuje kontrolkę (iVerb równa się OLEIVERB_INPLACEACTIVATE).
BOOL DoesVerbActivate(LONG iVerb);
Parametry
iVerb
Wartość wskazująca akcję, która ma być wykonywana przez DoVerb
element .
Wartość zwracana
Zwraca wartość TRUE, jeśli element iVerb równa się OLEIVERB_UIACTIVATE, OLEIVERB_PRIMARY, OLEIVERB_SHOW lub OLEIVERB_INPLACEACTIVATE; w przeciwnym razie zwraca wartość FALSE.
Uwagi
Tę metodę można zastąpić, aby zdefiniować własne zlecenie aktywacji.
CComControlBase::D oesVerbUIActivate
Sprawdza, czy parametr iVerb używany przez IOleObjectImpl::DoVerb
program powoduje aktywowanie interfejsu użytkownika kontrolki i zwraca wartość TRUE.
BOOL DoesVerbUIActivate(LONG iVerb);
Parametry
iVerb
Wartość wskazująca akcję, która ma być wykonywana przez DoVerb
element .
Wartość zwracana
Zwraca wartość TRUE, jeśli element iVerb równa się OLEIVERB_UIACTIVATE, OLEIVERB_PRIMARY, OLEIVERB_SHOW lub OLEIVERB_INPLACEACTIVATE. W przeciwnym razie metoda zwraca wartość FALSE.
CComControlBase::D oVerbProperties
Wyświetla strony właściwości kontrolki.
HRESULT DoVerbProperties(LPCRECT /* prcPosRect */, HWND hwndParent);
Parametry
chrlPosRec
Zarezerwowany.
hwndParent
Uchwyt okna zawierającego kontrolkę.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
Przykład
// 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
Wywołaj tę metodę, aby poinformować kontener o ponownym rysowanie kontrolki lub powiadomić zarejestrowane ujścia, że widok kontrolki uległ zmianie.
HRESULT FireViewChange();
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
Uwagi
Jeśli kontrolka jest aktywna (składowa danych klasy kontrolnej CComControlBase::m_bInPlaceActive ma wartość TRUE), powiadamia kontener, który chcesz ponownie narysować całą kontrolkę. Jeśli kontrolka jest nieaktywna, powiadamia zarejestrowane ujścia kontrolki (za pośrednictwem składowej danych klasy kontrolnej CComControlBase::m_spAdviseSink), że widok kontrolki uległ zmianie.
Przykład
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
Pobiera DISPID_AMBIENT_APPEARANCE, bieżące ustawienie wyglądu kontrolki: 0 dla płaskiej i 1 dla 3D.
HRESULT GetAmbientAppearance(short& nAppearance);
Parametry
nAppearance
Właściwość DISPID_AMBIENT_APPEARANCE.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
Przykład
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
Pobiera DISPID_AMBIENT_AUTOCLIP flaga wskazująca, czy kontener obsługuje automatyczne wycinanie obszaru wyświetlania kontrolki.
HRESULT GetAmbientAutoClip(BOOL& bAutoClip);
Parametry
bAutoClip
Właściwość DISPID_AMBIENT_AUTOCLIP.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
CComControlBase::GetAmbientBackColor
Pobiera DISPID_AMBIENT_BACKCOLOR, kolor tła otoczenia dla wszystkich kontrolek zdefiniowanych przez kontener.
HRESULT GetAmbientBackColor(OLE_COLOR& BackColor);
Parametry
Kolor tła
Właściwość DISPID_AMBIENT_BACKCOLOR.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
CComControlBase::GetAmbientCharSet
Pobiera DISPID_AMBIENT_CHARSET, zestaw znaków otoczenia dla wszystkich kontrolek zdefiniowanych przez kontener.
HRESULT GetAmbientCharSet(BSTR& bstrCharSet);
Parametry
bstrCharSet
Właściwość DISPID_AMBIENT_CHARSET.
Wartość zwracana
Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.
CComControlBase::GetAmbientCodePage
Pobiera DISPID_AMBIENT_CODEPAGE, stronę kodu otoczenia dla wszystkich kontrolek zdefiniowanych przez kontener.
HRESULT GetAmbientCodePage(ULONG& ulCodePage);
Parametry
ulCodePage
Właściwość DISPID_AMBIENT_CODEPAGE.
Wartość zwracana
Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.
CComControlBase::GetAmbientDisplayAsDefault
Pobiera DISPID_AMBIENT_DISPLAYASDEFAULT, flaga, która ma wartość TRUE, jeśli kontener oznaczył kontrolkę w tej witrynie jako przycisk domyślny, a zatem kontrolka przycisku powinna rysować się z grubszą ramką.
HRESULT GetAmbientDisplayAsDefault(BOOL& bDisplayAsDefault);
Parametry
bDisplayAsDefault
Właściwość DISPID_AMBIENT_DISPLAYASDEFAULT.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
CComControlBase::GetAmbientDisplayName
Pobiera DISPID_AMBIENT_DISPLAYNAME, a nazwa kontenera została dostarczona do kontrolki.
HRESULT GetAmbientDisplayName(BSTR& bstrDisplayName);
Parametry
bstrDisplayName
Właściwość DISPID_AMBIENT_DISPLAYNAME.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
CComControlBase::GetAmbientFont
Pobiera wskaźnik do interfejsu otoczenia IFont
kontenera.
HRESULT GetAmbientFont(IFont** ppFont);
Parametry
ppFont
Wskaźnik do otoczenia interfejsu IFont kontenera.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
Uwagi
Jeśli właściwość ma wartość NULL, wskaźnik ma wartość NULL. Jeśli wskaźnik nie ma wartości NULL, obiekt wywołujący musi zwolnić wskaźnik.
CComControlBase::GetAmbientFontDisp
Pobiera wskaźnik do interfejsu wysyłania otoczenia IFontDisp
kontenera.
HRESULT GetAmbientFontDisp(IFontDisp** ppFont);
Parametry
ppFont
Wskaźnik do otoczenia interfejsu IFontDisp kontenera.
Wartość zwracana
Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.
Uwagi
Jeśli właściwość ma wartość NULL, wskaźnik ma wartość NULL. Jeśli wskaźnik nie ma wartości NULL, obiekt wywołujący musi zwolnić wskaźnik.
CComControlBase::GetAmbientForeColor
Pobiera DISPID_AMBIENT_FORECOLOR, kolor pierwszego planu otoczenia dla wszystkich kontrolek zdefiniowanych przez kontener.
HRESULT GetAmbientForeColor(OLE_COLOR& ForeColor);
Parametry
ForeColor
Właściwość DISPID_AMBIENT_FORECOLOR.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
CComControlBase::GetAmbientLocaleID
Pobiera DISPID_AMBIENT_LOCALEID identyfikator języka używanego przez kontener.
HRESULT GetAmbientLocaleID(LCID& lcid);
Parametry
lcid
Właściwość DISPID_AMBIENT_LOCALEID.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
Uwagi
Kontrolka może użyć tego identyfikatora, aby dostosować interfejs użytkownika do różnych języków.
CComControlBase::GetAmbientMessageReflect
Pobiera DISPID_AMBIENT_MESSAGEREFLECT flaga wskazująca, czy kontener chce odbierać komunikaty okna (takie jak WM_DRAWITEM
) jako zdarzenia.
HRESULT GetAmbientMessageReflect(BOOL& bMessageReflect);
Parametry
bMessageReflect
Właściwość DISPID_AMBIENT_MESSAGEREFLECT.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
CComControlBase::GetAmbientPalette
Pobiera DISPID_AMBIENT_PALETTE używane do uzyskiwania dostępu do hpALETTE kontenera.
HRESULT GetAmbientPalette(HPALETTE& hPalette);
Parametry
hPalette
Właściwość DISPID_AMBIENT_PALETTE.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
CComControlBase::GetAmbientProperty
Pobiera właściwość kontenera określoną przez dispid.
HRESULT GetAmbientProperty(DISPID dispid, VARIANT& var);
Parametry
dispid
Identyfikator właściwości kontenera do pobrania.
var
Zmienna do odbierania właściwości.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
Uwagi
Usługa ATL udostępnia zestaw funkcji pomocnika do pobierania określonych właściwości, na przykład CComControlBase::GetAmbientBackColor. Jeśli nie ma dostępnej odpowiedniej metody, użyj polecenia GetAmbientProperty
.
CComControlBase::GetAmbientRightToLeft
Pobiera DISPID_AMBIENT_RIGHTTOLEFT kierunek wyświetlania zawartości przez kontener.
HRESULT GetAmbientRightToLeft(BOOL& bRightToLeft);
Parametry
bRightToLeft
Właściwość DISPID_AMBIENT_RIGHTTOLEFT. Ustaw wartość TRUE, jeśli zawartość jest wyświetlana od prawej do lewej, wartość FALSE, jeśli jest wyświetlana od lewej do prawej.
Wartość zwracana
Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.
CComControlBase::GetAmbientScaleUnits
Pobiera DISPID_AMBIENT_SCALEUNITS, jednostki otoczenia kontenera (takie jak cale lub centymetry) na potrzeby wyświetlania etykiet.
HRESULT GetAmbientScaleUnits(BSTR& bstrScaleUnits);
Parametry
bstrScaleUnits
Właściwość DISPID_AMBIENT_SCALEUNITS.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
CComControlBase::GetAmbientShowGrabHandles
Pobiera DISPID_AMBIENT_SHOWGRABHANDLES, flaga wskazująca, czy kontener umożliwia kontrolce wyświetlanie uchwytów do pobrania dla siebie, gdy są aktywne.
HRESULT GetAmbientShowGrabHandles(BOOL& bShowGrabHandles);
Parametry
bShowGrabHandles
Właściwość DISPID_AMBIENT_SHOWGRABHANDLES.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
CComControlBase::GetAmbientShowHatching
Pobiera DISPID_AMBIENT_SHOWHATCHING, flaga wskazująca, czy kontener umożliwia kontrolce wyświetlanie się z kreskowanym wzorcem, gdy interfejs użytkownika kontrolki jest aktywny.
HRESULT GetAmbientShowHatching(BOOL& bShowHatching);
Parametry
bShowHatching
Właściwość DISPID_AMBIENT_SHOWHATCHING.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
CComControlBase::GetAmbientSupportsMnemonics
Pobiera DISPID_AMBIENT_SUPPORTSMNEMONICS flagę wskazującą, czy kontener obsługuje mnemonics klawiatury.
HRESULT GetAmbientSupportsMnemonics(BOOL& bSupportsMnemonics);
Parametry
bSupportsMnemonics
Właściwość DISPID_AMBIENT_SUPPORTSMNEMONICS.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
CComControlBase::GetAmbientTextAlign
Pobiera DISPID_AMBIENT_TEXTALIGN, wyrównanie tekstu preferowane przez kontener: 0 dla ogólnego wyrównania (liczby w prawo, tekst w lewo), 1 dla wyrównania lewego, 2 dla wyrównania do środka i 3 w celu wyrównania do prawej.
HRESULT GetAmbientTextAlign(short& nTextAlign);
Parametry
nTextAlign
Właściwość DISPID_AMBIENT_TEXTALIGN.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
CComControlBase::GetAmbientTopToBottom
Pobiera DISPID_AMBIENT_TOPTOBOTTOM, kierunek wyświetlania zawartości przez kontener.
HRESULT GetAmbientTopToBottom(BOOL& bTopToBottom);
Parametry
bTopToBottom
Właściwość DISPID_AMBIENT_TOPTOBOTTOM. Ustaw wartość TRUE, jeśli tekst jest wyświetlany u góry do dołu, wartość FALSE, jeśli jest wyświetlana u dołu do góry.
Wartość zwracana
Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.
CComControlBase::GetAmbientUIDead
Pobiera DISPID_AMBIENT_UIDEAD flagę wskazującą, czy kontener chce, aby kontrolka odpowiadała na akcje interfejsu użytkownika.
HRESULT GetAmbientUIDead(BOOL& bUIDead);
Parametry
bUIDead
Właściwość DISPID_AMBIENT_UIDEAD.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
Uwagi
Jeśli wartość TRUE, kontrolka nie powinna odpowiadać. Ta flaga ma zastosowanie niezależnie od flagi DISPID_AMBIENT_USERMODE. Zobacz CComControlBase::GetAmbientUserMode.
CComControlBase::GetAmbientUserMode
Pobiera DISPID_AMBIENT_USERMODE flagę wskazującą, czy kontener jest w trybie uruchamiania (TRUE) czy w trybie projektowania (FALSE).
HRESULT GetAmbientUserMode(BOOL& bUserMode);
Parametry
bUserMode
Właściwość DISPID_AMBIENT_USERMODE.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
CComControlBase::GetDirty
Zwraca wartość elementu członkowskiego m_bRequiresSave
danych .
BOOL GetDirty();
Wartość zwracana
Zwraca wartość m_bRequiresSave elementu członkowskiego danych.
Uwagi
Ta wartość jest ustawiana przy użyciu CComControlBase::SetDirty.
CComControlBase::GetZoomInfo
Pobiera wartości x i y licznika i mianownika współczynnika powiększenia dla kontrolki aktywowanej do edycji w miejscu.
void GetZoomInfo(ATL_DRAWINFO& di);
Parametry
Di
Struktura, która będzie przechowywać licznik i mianownik współczynnika powiększenia. Aby uzyskać więcej informacji, zobacz ATL_DRAWINFO.
Uwagi
Współczynnik powiększenia jest proporcją naturalnego rozmiaru kontrolki do bieżącego zakresu.
CComControlBase::InPlaceActivate
Powoduje przejście kontrolki ze stanu nieaktywnego na dowolny stan czasownika w elembie iVerb .
HRESULT InPlaceActivate(LONG iVerb, const RECT* prcPosRect = NULL);
Parametry
iVerb
Wartość wskazująca akcję do wykonania przez element IOleObjectImpl::D oVerb.
chrlPosRect
Wskaźnik do położenia kontrolki w miejscu.
Wartość zwracana
Jedna ze standardowych wartości HRESULT.
Uwagi
Przed aktywacją ta metoda sprawdza, czy kontrolka ma lokację klienta, sprawdza, ile kontrolki jest widoczna, i pobiera lokalizację kontrolki w oknie nadrzędnym. Po aktywowaniu kontrolki ta metoda aktywuje interfejs użytkownika kontrolki i informuje kontener o uwidocznieniu kontrolki.
Ta metoda pobiera również wskaźnik interfejsu , lub IOleInPlaceSiteWindowless
dla kontrolki i przechowuje go w składowej danych klasy kontrolnej CComControlBase::m_spInPlaceSite. IOleInPlaceSiteEx
IOleInPlaceSite
Składowe danych klasy kontrolnej CComControlBase::m_bInPlaceSiteEx, CComControlBase::m_bWndLess, CComControlBase::m_bWasOnceWindowless i CComControlBase::m_bNegotiatedWnd są ustawione na wartość true zgodnie z potrzebami.
CComControlBase::InternalGetSite
Wywołaj tę metodę, aby wysłać zapytanie do lokacji sterowania dla wskaźnika do zidentyfikowanego interfejsu.
HRESULT InternalGetSite(REFIID riid, void** ppUnkSite);
Parametry
riid
Identyfikator IID wskaźnika interfejsu, który powinien zostać zwrócony w pliku ppUnkSite.
ppUnkSite
Adres zmiennej wskaźnika, która odbiera wskaźnik interfejsu żądany w riid.
Wartość zwracana
Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.
Uwagi
Jeśli lokacja obsługuje interfejs żądany w riid, wskaźnik jest zwracany za pomocą elementu ppUnkSite. W przeciwnym razie parametr ppUnkSite ma wartość NULL.
CComControlBase::m_bAutoSize
Flaga wskazująca, że kontrolka nie może mieć innego rozmiaru.
unsigned m_bAutoSize:1;
Uwagi
Ta flaga jest sprawdzana przez IOleObjectImpl::SetExtent
element i, jeśli wartość TRUE, powoduje, że funkcja zwróci E_FAIL.
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
Jeśli dodasz opcję Automatycznego rozmiaru na karcie Właściwości zapasów Kreatora kontrolki ATL, kreator automatycznie utworzy ten element członkowski danych w klasie kontrolki, utworzy metody put i get dla właściwości i obsługuje funkcję IPropertyNotifySink, aby automatycznie powiadamiać kontener po zmianie właściwości.
CComControlBase::m_bDrawFromNatural
Flaga wskazująca, że IDataObjectImpl::GetData
i CComControlBase::GetZoomInfo
powinna ustawić rozmiar kontrolki z m_sizeNatural
, a nie z m_sizeExtent
.
unsigned m_bDrawFromNatural:1;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
CComControlBase::m_bDrawGetDataInHimetric
Flaga wskazująca, że IDataObjectImpl::GetData
podczas rysowania należy używać jednostek HIMETRIC, a nie pikseli.
unsigned m_bDrawGetDataInHimetric:1;
Uwagi
Każda logiczna jednostka HIMETRIC wynosi 0,01 milimetra.
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
CComControlBase::m_bInPlaceActive
Flaga wskazująca, że kontrolka jest aktywna w miejscu.
unsigned m_bInPlaceActive:1;
Uwagi
Oznacza to, że kontrolka jest widoczna, a jego okno, jeśli istnieje, jest widoczne, ale jego menu i paski narzędzi mogą nie być aktywne. Flaga m_bUIActive
wskazuje, że interfejs użytkownika kontrolki, taki jak menu, jest również aktywny.
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
CComControlBase::m_bInPlaceSiteEx
Flaga wskazująca, że kontener obsługuje IOleInPlaceSiteEx
interfejs i funkcje sterowania OCX96, takie jak kontrolki bez okien i bez migotania.
unsigned m_bInPlaceSiteEx:1;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
Element członkowski m_spInPlaceSite
danych wskazuje interfejs IOleInPlaceSite, IOleInPlaceSiteEx lub IOleInPlaceSiteWindowless w zależności od wartości m_bWndLess
flag i m_bInPlaceSiteEx
. (Element członkowski m_bNegotiatedWnd
danych musi mieć wartość TRUE, m_spInPlaceSite
aby wskaźnik był prawidłowy).
Jeśli m_bWndLess
ma wartość FALSE i m_bInPlaceSiteEx
ma wartość TRUE, m_spInPlaceSite
to wskaźnik interfejsu IOleInPlaceSiteEx
. Zobacz m_spInPlaceSite tabeli przedstawiającej relację między tymi trzema elementami członkowskimi danych.
CComControlBase::m_bNegotiatedWnd
Flaga wskazująca, czy kontrolka wynegocjowała z kontenerem obsługę funkcji sterowania OCX96 (takich jak kontrolki bez migotania i bez okien) oraz czy kontrolka jest oknem, czy bez okien.
unsigned m_bNegotiatedWnd:1;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
Flaga m_bNegotiatedWnd
musi mieć wartość TRUE, m_spInPlaceSite
aby wskaźnik był prawidłowy.
CComControlBase::m_bRecomposeOnResize
Flaga wskazująca, że kontrolka chce ponownie skompilować swoją prezentację, gdy kontener zmieni rozmiar wyświetlania kontrolki.
unsigned m_bRecomposeOnResize:1;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
Ta flaga jest sprawdzana przez element IOleObjectImpl::SetExtent i, jeśli wartość TRUE, SetExtent
powiadamia kontener o zmianach widoku. Jeśli ta flaga jest ustawiona, należy również ustawić bit OLEMISC_RECOMPOSEONRESIZE w wyliczenie OLEMISC .
CComControlBase::m_bRequiresSave
Flaga wskazująca, że kontrolka uległa zmianie od czasu ostatniego zapisania.
unsigned m_bRequiresSave:1;
Uwagi
Wartość m_bRequiresSave
można ustawić za pomocą CComControlBase::SetDirty i pobrać z CComControlBase::GetDirty.
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
CComControlBase::m_bResizeNatural
Flaga wskazująca, że kontrolka chce zmienić rozmiar swojego naturalnego zakresu (rozmiar fizyczny bez skalowania), gdy kontener zmieni rozmiar wyświetlania kontrolki.
unsigned m_bResizeNatural:1;
Uwagi
Ta flaga jest sprawdzana przez IOleObjectImpl::SetExtent
element i, jeśli wartość TRUE, rozmiar przekazany do SetExtent
elementu jest przypisany do .m_sizeNatural
Rozmiar przekazany do SetExtent
obiektu jest zawsze przypisywany do m_sizeExtent
elementu , niezależnie od wartości m_bResizeNatural
.
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
CComControlBase::m_bUIActive
Flaga wskazująca, że interfejs użytkownika kontrolki, taki jak menu i paski narzędzi, jest aktywny.
unsigned m_bUIActive:1;
Uwagi
Flaga wskazuje, że kontrolka m_bInPlaceActive
jest aktywna, ale nie, że jej interfejs użytkownika jest aktywny.
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
CComControlBase::m_bUsingWindowRgn
Flaga wskazująca, że kontrolka używa regionu okna dostarczonego przez kontener.
unsigned m_bUsingWindowRgn:1;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
CComControlBase::m_bWasOnceWindowless
Flaga wskazująca, że kontrolka została bez okien, ale może być teraz bez okien lub może nie być.
unsigned m_bWasOnceWindowless:1;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
CComControlBase::m_bWindowOnly
Flaga wskazująca, że kontrolka powinna być oknem, nawet jeśli kontener obsługuje kontrolki bez okien.
unsigned m_bWindowOnly:1;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
CComControlBase::m_bWndLess
Flaga wskazująca, że kontrolka jest bez okna.
unsigned m_bWndLess:1;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
Element członkowski m_spInPlaceSite
danych wskazuje interfejs IOleInPlaceSite, IOleInPlaceSiteEx lub IOleInPlaceSiteWindowless w zależności od wartości m_bWndLess
flag i CComControlBase::m_bInPlaceSiteEx . (Element członkowski danychCComControlBase::m_bNegotiatedWnd musi mieć wartość TRUE, aby wskaźnik CComControlBase::m_spInPlaceSite był prawidłowy.
Jeśli m_bWndLess
ma wartość TRUE, m_spInPlaceSite
to wskaźnik interfejsu IOleInPlaceSiteWindowless
. Zobacz CComControlBase::m_spInPlaceSite , aby uzyskać tabelę przedstawiającą pełną relację między tymi elementami członkowskimi danych.
CComControlBase::m_hWndCD
Zawiera odwołanie do uchwytu okna skojarzonego z kontrolką.
HWND& m_hWndCD;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
CComControlBase::m_nFreezeEvents
Liczba zamarznięć zdarzeń kontenera (odmowa akceptowania zdarzeń) bez interweniowania rozmrażania zdarzeń (akceptacja zdarzeń).
short m_nFreezeEvents;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
CComControlBase::m_rcPos
Pozycja w pikselach kontrolki wyrażona we współrzędnych kontenera.
RECT m_rcPos;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
CComControlBase::m_sizeExtent
Zakres kontrolki w jednostkach HIMETRIC (każda jednostka wynosi 0,01 milimetra) dla określonego wyświetlacza.
SIZE m_sizeExtent;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
Ten rozmiar jest skalowany przez ekran. Rozmiar fizyczny kontrolki jest określony w elemencie m_sizeNatural
członkowskim danych i jest stały.
Rozmiar można przekonwertować na piksele za pomocą funkcji globalnej AtlHiMetricToPixel.
CComControlBase::m_sizeNatural
Fizyczny rozmiar kontrolki w jednostkach HIMETRIC (każda jednostka wynosi 0,01 milimetra).
SIZE m_sizeNatural;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
Ten rozmiar jest stały, podczas gdy rozmiar w m_sizeExtent
pliku jest skalowany przez wyświetlacz.
Rozmiar można przekonwertować na piksele za pomocą funkcji globalnej AtlHiMetricToPixel.
CComControlBase::m_spAdviseSink
Bezpośredni wskaźnik do połączenia doradczego w kontenerze (IAdviseSink kontenera).
CComPtr<IAdviseSink>
m_spAdviseSink;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
CComControlBase::m_spAmbientDispatch
CComDispatchDriver
Obiekt, który umożliwia pobieranie i ustawianie właściwości obiektu za pomocą IDispatch
wskaźnika.
CComDispatchDriver m_spAmbientDispatch;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
CComControlBase::m_spClientSite
Wskaźnik do lokacji klienta kontrolki w kontenerze.
CComPtr<IOleClientSite>
m_spClientSite;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
CComControlBase::m_spDataAdviseHolder
Zapewnia standardową metodę przechowywania połączeń doradczych między obiektami danych i doradzania ujściom.
CComPtr<IDataAdviseHolder>
m_spDataAdviseHolder;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
Obiekt danych to kontrolka, która może przesyłać dane i implementuje obiekt IDataObject, którego metody określają format i nośnik transferu danych.
m_spDataAdviseHolder
Interfejs implementuje metody IDataObject::D Advise i IDataObject::D Unadvise w celu ustanowienia i usunięcia połączeń doradczych z kontenerem. Kontener kontrolki musi zaimplementować ujście doradcy, obsługując interfejs IAdviseSink .
CComControlBase::m_spInPlaceSite
Wskaźnik do wskaźnika IOleInPlaceSite, IOleInPlaceSiteEx lub IOleInPlaceSiteSiteWindowless .
CComPtr<IOleInPlaceSiteWindowless>
m_spInPlaceSite;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
Wskaźnik jest prawidłowy tylko wtedy, gdy flaga m_spInPlaceSite
m_bNegotiatedWnd ma wartość TRUE.
W poniższej tabeli pokazano, jak m_spInPlaceSite
typ wskaźnika zależy od flag m_bWndLess i m_bInPlaceSiteEx składowych danych:
Typ m_spInPlaceSite | wartość m_bWndLess | wartość m_bInPlaceSiteEx |
---|---|---|
IOleInPlaceSiteWindowless |
PRAWDA | TRUE lub FALSE |
IOleInPlaceSiteEx |
FAŁSZ | PRAWDA |
IOleInPlaceSite |
FAŁSZ | FAŁSZ |
CComControlBase::m_spOleAdviseHolder
Zapewnia standardową implementację sposobu przechowywania połączeń doradczych.
CComPtr<IOleAdviseHolder>
m_spOleAdviseHolder;
Uwagi
Uwaga
Aby użyć tej składowej danych w klasie kontrolnej, należy zadeklarować ją jako składową danych w klasie kontrolnej. Klasa kontrolna nie będzie dziedziczyć tego elementu członkowskiego danych z klasy bazowej, ponieważ jest zadeklarowana w unii w klasie bazowej.
m_spOleAdviseHolder
Interfejs implementuje metody IOleObject::Advise i IOleObject::Unadvise w celu ustanowienia i usunięcia połączeń doradczych z kontenerem. Kontener kontrolki musi zaimplementować ujście doradcy, obsługując interfejs IAdviseSink .
CComControlBase::OnDraw
Zastąpij tę metodę, aby narysować kontrolkę.
virtual HRESULT OnDraw(ATL_DRAWINFO& di);
Parametry
Di
Odwołanie do struktury ATL_DRAWINFO zawierającej informacje o rysunku, takie jak aspekt rysunku, granice kontrolki i czy rysunek jest zoptymalizowany, czy nie.
Wartość zwracana
Standardowa wartość HRESULT.
Uwagi
Wartość domyślna OnDraw
usuwa lub przywraca kontekst urządzenia lub nie wykonuje żadnych czynności, w zależności od flag ustawionych w CComControlBase::OnDrawAdvanced.
OnDraw
Metoda jest automatycznie dodawana do klasy kontrolki podczas tworzenia kontrolki za pomocą Kreatora formantów ATL. Domyślnie OnDraw
kreator rysuje prostokąt z etykietą "ATL 8.0".
Przykład
Zobacz przykład CComControlBase::GetAmbientAppearance.
CComControlBase::OnDrawAdvanced
Ustawienie domyślne OnDrawAdvanced
przygotowuje znormalizowany kontekst urządzenia do rysowania, a następnie wywołuje metodę klasy kontrolnej OnDraw
.
virtual HRESULT OnDrawAdvanced(ATL_DRAWINFO& di);
Parametry
Di
Odwołanie do struktury ATL_DRAWINFO zawierającej informacje o rysunku, takie jak aspekt rysunku, granice kontrolki i czy rysunek jest zoptymalizowany, czy nie.
Wartość zwracana
Standardowa wartość HRESULT.
Uwagi
Zastąpi tę metodę, jeśli chcesz zaakceptować kontekst urządzenia przekazany przez kontener bez jego normalizacji.
Aby uzyskać więcej informacji, zobacz CComControlBase::OnDraw .
CComControlBase::OnKillFocus
Sprawdza, czy kontrolka jest aktywna i ma prawidłową lokację sterowania, a następnie informuje kontener, że kontrolka straciła fokus.
LRESULT OnKillFocus(UINT /* nMsg */,
WPARAM /* wParam */,
LPARAM /* lParam */,
BOOL& bHandled);
Parametry
nMsg
Zarezerwowany.
wParam
Zarezerwowany.
lParam
Zarezerwowany.
bHandled
Flaga wskazująca, czy komunikat okna został pomyślnie obsłużony. Wartość domyślna to FALSE.
Wartość zwracana
Zawsze zwraca wartość 1.
CComControlBase::OnMouseActivate
Sprawdza, czy interfejs użytkownika jest w trybie użytkownika, a następnie aktywuje kontrolkę.
LRESULT OnMouseActivate(UINT /* nMsg */,
WPARAM /* wParam */,
LPARAM /* lParam */,
BOOL& bHandled);
Parametry
nMsg
Zarezerwowany.
wParam
Zarezerwowany.
lParam
Zarezerwowany.
bHandled
Flaga wskazująca, czy komunikat okna został pomyślnie obsłużony. Wartość domyślna to FALSE.
Wartość zwracana
Zawsze zwraca wartość 1.
CComControlBase::OnPaint
Przygotowuje kontener do malowania, pobiera obszar klienta kontrolki, a następnie wywołuje metodę klasy kontrolnej OnDrawAdvanced
.
LRESULT OnPaint(UINT /* nMsg */,
WPARAM wParam,
LPARAM /* lParam */,
BOOL& /* lResult */);
Parametry
nMsg
Zarezerwowany.
wParam
Istniejąca usługa HDC.
lParam
Zarezerwowany.
lResult
Zarezerwowany.
Wartość zwracana
Zawsze zwraca zero.
Uwagi
Jeśli parametr wParam nie ma wartości NULL, zakłada, OnPaint
że zawiera prawidłową usługę HDC i używa jej zamiast CComControlBase::m_hWndCD.
CComControlBase::OnSetFocus
Sprawdza, czy kontrolka jest aktywna i ma prawidłową lokację sterowania, a następnie informuje kontener, że kontrolka zyskała fokus.
LRESULT OnSetFocus(UINT /* nMsg */,
WPARAM /* wParam */,
LPARAM /* lParam */,
BOOL& bHandled);
Parametry
nMsg
Zarezerwowany.
wParam
Zarezerwowany.
lParam
Zarezerwowany.
bHandled
Flaga wskazująca, czy komunikat okna został pomyślnie obsłużony. Wartość domyślna to FALSE.
Wartość zwracana
Zawsze zwraca wartość 1.
Uwagi
Wysyła powiadomienie do kontenera, na który kontrolka otrzymała fokus.
CComControlBase::P reTranslateAccelerator
Zastąp tę metodę, aby udostępnić własne programy obsługi akceleratora klawiatury.
BOOL PreTranslateAccelerator(LPMSG /* pMsg */,
HRESULT& /* hRet */);
Parametry
PMsg
Zarezerwowany.
hRet
Zarezerwowany.
Wartość zwracana
Domyślnie zwraca wartość FALSE.
CComControlBase::SendOnClose
Powiadamia wszystkie ujścia doradcze zarejestrowane z posiadaczem doradcy, że kontrola została zamknięta.
HRESULT SendOnClose();
Wartość zwracana
Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.
Uwagi
Wysyła powiadomienie, że kontrolka zamknęła ujścia porady.
CComControlBase::SendOnDataChange
Powiadamia wszystkie ujścia porady zarejestrowane u posiadacza doradcy, że dane kontrolne uległy zmianie.
HRESULT SendOnDataChange(DWORD advf = 0);
Parametry
advf
Zaleca flagi określające sposób wykonywania wywołania elementu IAdviseSink::OnDataChange . Wartości pochodzą z wyliczenia ADVF .
Wartość zwracana
Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.
CComControlBase::SendOnRename
Powiadamia wszystkie ujścia doradcze zarejestrowane z posiadaczem doradcy, że kontrola ma nowy pseudonim.
HRESULT SendOnRename(IMoniker* pmk);
Parametry
Pmk
Wskaźnik do nowego monikera kontrolki.
Wartość zwracana
Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.
Uwagi
Wysyła powiadomienie, że nazwa kontrolki uległa zmianie.
CComControlBase::SendOnSave
Powiadamia wszystkie ujścia doradcze zarejestrowane z posiadaczem doradcy, że kontrola została zapisana.
HRESULT SendOnSave();
Wartość zwracana
Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.
Uwagi
Wysyła powiadomienie, że kontrolka właśnie zapisała swoje dane.
CComControlBase::SendOnViewChange
Powiadamia wszystkie zarejestrowane ujścia porad, że widok kontrolki uległ zmianie.
HRESULT SendOnViewChange(DWORD dwAspect, LONG lindex = -1);
Parametry
dwAspect
Aspekt lub widok kontrolki.
lindex
Część widoku, która uległa zmianie. Tylko -1 jest prawidłowy.
Wartość zwracana
Zwraca S_OK powodzenia lub błąd HRESULT w przypadku niepowodzenia.
Uwagi
SendOnViewChange
wywołuje metodę IAdviseSink::OnViewChange. Jedyną obsługiwaną obecnie wartością lindex jest -1, co oznacza, że cały widok jest interesujący.
CComControlBase::SetControlFocus
Ustawia lub usuwa fokus klawiatury do lub z kontrolki.
BOOL SetControlFocus(BOOL bGrab);
Parametry
bGrab
Jeśli wartość TRUE, ustawia fokus klawiatury na kontrolkę wywołującą. Jeśli wartość FALSE, usuwa fokus klawiatury z kontrolki wywołującej, pod warunkiem, że ma fokus.
Wartość zwracana
Zwraca wartość TRUE, jeśli kontrolka pomyślnie otrzymuje fokus; w przeciwnym razie, FAŁSZ.
Uwagi
W przypadku kontrolki okna wywoływana jest funkcja SetFocus funkcji interfejsu API systemu Windows. W przypadku kontrolki bez okien wywoływana jest funkcja IOleInPlaceSiteWindowless::SetFocus . Za pomocą tego wywołania kontrolka bez okna uzyskuje fokus klawiatury i może odpowiadać na komunikaty okien.
CComControlBase::SetDirty
Ustawia element członkowski m_bRequiresSave
danych na wartość w elemencie bDirty.
void SetDirty(BOOL bDirty);
Parametry
bDirty
Wartość elementu członkowskiego danych CComControlBase::m_bRequiresSave.
Uwagi
SetDirty(TRUE)
należy wywołać polecenie , aby oznaczyć, że kontrolka uległa zmianie od czasu jego ostatniego zapisania. Wartość parametru m_bRequiresSave
jest pobierana z CComControlBase::GetDirty.