Share via


IOleInPlaceSiteWindowless::SetCapture-Methode (ocidl.h)

Ermöglicht einem direkt aktiven, fensterlosen Objekt, alle Mausmeldungen aufzuzeichnen.

Syntax

HRESULT SetCapture(
  [in] BOOL fCapture
);

Parameter

[in] fCapture

Bei TRUE sollte der Container die Maus für das Objekt erfassen. Bei FALSE sollte der Container die Mauserfassung für das Objekt freigeben.

Rückgabewert

Diese Methode gibt S_OK zurück, wenn die Mauserfassung dem -Objekt erfolgreich gewährt wurde. Wenn sie aufgerufen wird, um die Mausauswahl zu schützen, darf diese Methode nicht fehlschlagen. Weitere mögliche Rückgabewerte:

Rückgabecode Beschreibung
S_FALSE
Mausauswahl wurde dem Objekt verweigert.

Hinweise

Ein fensterloses Objekt erfasst die Mauseingabe, indem IOleInPlaceSiteWindowless::SetCapture mit TRUE für das Websiteobjekt aufgerufen wird. Der Container kann die Mauserfassung verweigern. In diesem Fall gibt diese Methode S_FALSE zurück. Wenn die Erfassung gewährt wird, muss der Container die Windows-Mauserfassung auf ein eigenes Fenster festlegen und alle nachfolgenden Mausnachrichten an das Objekt senden, unabhängig davon, ob sich die Mauscursorposition über diesem Objekt befindet oder nicht.

Das Objekt kann die Mauserfassung später freigeben, indem IOleInPlaceSiteWindowless::SetCapture mit FALSE für das Websiteobjekt aufgerufen wird. Die Erfassung kann auch aufgrund eines externen Ereignisses, z. B. der gedrückten ESC-Taste, freigegeben werden. In diesem Fall wird das Objekt durch eine WM_CANCELMODE Nachricht benachrichtigt, die der Container zusammen mit dem Tastaturfokus sendet.

Container sollten alle Mausnachrichten, einschließlich WM_SETCURSOR, an das fensterlose OLE-Objekt senden, das die Maus erfasst hat. Wenn kein Objekt die Maus erfasst hat, sollte der Container die Mausnachricht an das Objekt unter dem Mauscursor senden.

Der Container sendet diese Fenstermeldungen, indem er IOleInPlaceObjectWindowless::OnWindowMessage für das fensterlose Objekt aufruft. Das fensterlose Objekt kann S_FALSE an diese Methode zurückgeben, um anzugeben, dass die Mausnachricht nicht verarbeitet wurde. Anschließend sollte der Container das Standardverhalten für die Nachricht ausführen, indem er die DefWindowProc-Funktion aufruft . Für WM_SETCURSOR kann der Container entweder den Cursor selbst festlegen oder nichts tun.

Objekte können auch IOleInPlaceSiteWindowless::OnDefWindowMessage verwenden, um die Standardnachrichtenverarbeitung aus dem Container aufzurufen. Im Fall der WM_SETCURSOR-Meldung kann ein Objekt eine Aktion ausführen, wenn der Container den Cursor nicht festgelegt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile ocidl.h

Weitere Informationen

IOleInPlaceSiteWindowless

IOleInPlaceSiteWindowless::OnDefWindowMessage