Udostępnij za pośrednictwem


Klasa IOleInPlaceObjectWindowlessImpl

Ta klasa implementuje IUnknown i udostępnia metody, które umożliwiają kontrolce bez okien odbieranie komunikatów okien i uczestnictwo w operacjach przeciągania i upuszczania.

Ważne

Tej klasy i jej składowych nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows.

Składnia

template<class T>
class IOleInPlaceObjectWindowlessImpl

Parametry

T
Klasa pochodząca z IOleInPlaceObjectWindowlessImplklasy .

Członkowie

Metody publiczne

Nazwa/nazwisko opis
IOleInPlaceObjectWindowlessImpl::ContextSensitiveHelp Umożliwia pomoc kontekstową. Implementacja ATL zwraca E_NOTIMPL.
IOleInPlaceObjectWindowlessImpl::GetDropTarget IDropTarget Dostarcza interfejs dla aktywnego obiektu bez okien, który obsługuje przeciąganie i upuszczanie. Implementacja ATL zwraca E_NOTIMPL.
IOleInPlaceObjectWindowlessImpl::GetWindow Pobiera uchwyt okna.
IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate Dezaktywuje aktywną kontrolkę w miejscu.
IOleInPlaceObjectWindowlessImpl::OnWindowMessage Wysyła komunikat z kontenera do kontrolki bez okien, która jest aktywna w miejscu.
IOleInPlaceObjectWindowlessImpl::ReactivateAndUndo Reactivates wcześniej dezaktywowanej kontrolki. Implementacja ATL zwraca E_NOTIMPL.
IOleInPlaceObjectWindowlessImpl::SetObjectRects Wskazuje, która część kontrolki w miejscu jest widoczna.
IOleInPlaceObjectWindowlessImpl::UIDeactivate Dezaktywuje i usuwa interfejs użytkownika, który obsługuje aktywację w miejscu.

Uwagi

Interfejs IOleInPlaceObject zarządza ponowną aktywacją i dezaktywacją kontrolek w miejscu oraz określa, jaka część kontrolki powinna być widoczna. Interfejs IOleInPlaceObjectWindowless umożliwia bezkłone sterowanie odbieraniem komunikatów okien i uczestniczeniem w operacjach przeciągania i upuszczania. Klasa IOleInPlaceObjectWindowlessImpl udostępnia domyślną implementację IOleInPlaceObject i IOleInPlaceObjectWindowless implementuje IUnknown , wysyłając informacje do urządzenia zrzutu w kompilacjach debugowania.

Powiązane artykułyATL Tutorial, Creating an ATL Project (Samouczek dotyczący tworzenia projektu ATL)

Hierarchia dziedziczenia

IOleInPlaceObjectWindowless

IOleInPlaceObjectWindowlessImpl

Wymagania

Nagłówek: atlctl.h

IOleInPlaceObjectWindowlessImpl::ContextSensitiveHelp

Zwraca E_NOTIMPL.

HRESULT ContextSensitiveHelp(BOOL fEnterMode);

Uwagi

Zobacz IOleWindow::ContextSensitiveHelp w zestawie Windows SDK.

IOleInPlaceObjectWindowlessImpl::GetDropTarget

Zwraca E_NOTIMPL.

HRESULT GetDropTarget(IDropTarget** ppDropTarget);

Uwagi

Zobacz IOleInPlaceObjectWindowless::GetDropTarget w zestawie Windows SDK.

IOleInPlaceObjectWindowlessImpl::GetWindow

Kontener wywołuje tę funkcję, aby uzyskać uchwyt okna kontrolki.

HRESULT GetWindow(HWND* phwnd);

Uwagi

Niektóre kontenery nie będą działać z kontrolką bez okien, nawet jeśli jest obecnie oknem. W implementacji ATL, jeśli składowa m_bWasOnceWindowless danych klasy kontrolnej ma wartość TRUE, funkcja zwraca E_FAIL. W przeciwnym razie, jeśli phwnd nie ma wartości NULL, GetWindow ustawia * phwnd do składowej m_hWnd danych klasy kontrolnej i zwraca S_OK.

Zobacz IOleWindow::GetWindow w zestawie Windows SDK.

IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate

Wywoływana przez kontener w celu dezaktywowania aktywnej kontrolki w miejscu.

HRESULT InPlaceDeactivate(HWND* phwnd);

Uwagi

Ta metoda wykonuje pełną lub częściową dezaktywację w zależności od stanu kontrolki. W razie potrzeby interfejs użytkownika kontrolki jest dezaktywowany, a okno kontrolki , jeśli istnieje, zostanie zniszczone. Kontener jest powiadamiany, że kontrolka nie jest już aktywna. Interfejs IOleInPlaceUIWindow używany przez kontener do negocjowania menu i przestrzeni obramowania jest zwalniany.

Zobacz IOleInPlaceObject::InPlaceDeactivate w zestawie Windows SDK.

IOleInPlaceObjectWindowlessImpl::OnWindowMessage

Wysyła komunikat z kontenera do kontrolki bez okien, która jest aktywna w miejscu.

HRESULT OnWindowMessage(
    UINT msg,
    WPARAM WParam,
    LPARAM LParam,
    LRESULT plResultParam);

Uwagi

Zobacz IOleInPlaceObjectWindowless::OnWindowMessage w zestawie Windows SDK.

IOleInPlaceObjectWindowlessImpl::ReactivateAndUndo

Zwraca E_NOTIMPL.

HRESULT ReactivateAndUndo();

Uwagi

Zobacz IOleInPlaceObject::ReactivateAndUndo w zestawie Windows SDK.

IOleInPlaceObjectWindowlessImpl::SetObjectRects

Wywoływana przez kontener w celu poinformowania kontrolki, że jego rozmiar i/lub położenie uległy zmianie.

HRESULT SetObjectRects(LPCRECT prcPos, LPCRECT prcClip);

Uwagi

Aktualizacje składowej danych kontrolki m_rcPos i wyświetlania kontrolki. Wyświetlana jest tylko część kontrolki, która przecina region klipu. Jeśli ekran kontrolki został wcześniej obcięty, ale wycinki zostały usunięte, można wywołać tę funkcję, aby ponownie wyrysować pełny widok kontrolki.

Zobacz IOleInPlaceObject::SetObjectRects w zestawie Windows SDK.

IOleInPlaceObjectWindowlessImpl::UIDeactivate

Dezaktywuje i usuwa interfejs użytkownika kontrolki, który obsługuje aktywację w miejscu.

HRESULT UIDeactivate();

Uwagi

Ustawia składowe m_bUIActive danych klasy kontrolnej na FALSE. Implementacja ATL tej funkcji zawsze zwraca S_OK.

Zobacz IOleInPlaceObject::UIDeactivate w zestawie Windows SDK.

Zobacz też

Klasa CComControl
Omówienie klasy