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 IOleInPlaceObjectWindowlessImpl
klasy .
Elementy członkowskie
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ły ATL 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
Aktualizuje element członkowski danych kontrolki m_rcPos
i ekran 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.