Udostępnij za pośrednictwem


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_bRequiresSavedanych .
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 CComControlBaseklasy .

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 DoVerbelement .

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 DoVerbelement .

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_bRequiresSavedanych .

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. IOleInPlaceSiteExIOleInPlaceSite 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_sizeExtentelementu , 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.

Zobacz też

Klasa CComControl
Omówienie klasy