IOleInPlaceObject::SetObjectRects-Methode (oleidl.h)

Gibt an, wie viel des direkten Objekts sichtbar sein soll.

Syntax

HRESULT SetObjectRects(
  [in] LPCRECT lprcPosRect,
  [in] LPCRECT lprcClipRect
);

Parameter

[in] lprcPosRect

Ein Zeiger auf die RECT-Struktur , die die Position des direkten Objekts unter Verwendung der Clientkoordinaten des übergeordneten Fensters enthält.

[in] lprcClipRect

Ein Zeiger auf das äußere Rechteck, das das Positionsrechteck des direkten Objekts (lprcPosRect) enthält. Dieses Rechteck ist relativ zum Clientbereich des übergeordneten Fensters des Objekts.

Rückgabewert

Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Rückgabewerte:

Rückgabecode Beschreibung
E_INVALIDARG
Der angegebene Zeiger ist ungültig.
E_OUTOFMEMORY
Für den Vorgang ist nicht genügend Arbeitsspeicher verfügbar.
E_UNEXPECTED
Ein unerwarteter Fehler ist aufgetreten.

Hinweise

LprcClipRect kann sich ändern, ohne dass sich lprcPosRect ändert.

Die Größe des Rechtecks eines direkten Objekts wird immer in Pixeln berechnet. Dies unterscheidet sich von den Visualisierungen anderer OLE-Objekte, die sich in HIMETRIC befinden.

Hinweis Führen Sie beim Ausführen von IOleInPlaceObject::SetObjectRects keine Aufrufe der PeekMessage - oder GetMessage-Funktionen oder eines Dialogfelds aus. Dies kann zum Deadlock des Systems führen. Es gibt weitere Einschränkungen, für die OLE-Schnittstellenmethoden und -funktionen innerhalb von IOleInPlaceObject::SetObjectRects aufgerufen werden können.
 

Hinweise für Anrufer

Der Container sollte IOleInPlaceObject::SetObjectRects aufrufen, wenn sich die Fensterposition des direkten Objekts und/oder des sichtbaren Teils des direkten Objekts ändert.

Hinweise zu Implementierern

Das Objekt muss sein direktes Fenster so groß dimensionieren, dass es der Schnittmenge von lprcPosRect und lprcClipRect entspricht. Das Objekt muss auch seinen Inhalt in das direkte Fenster des Objekts zeichnen, damit eine ordnungsgemäße Abschneidung erfolgt.

Das Objekt sollte seine Breite und Höhe mit denen vergleichen, die von seinem Container (übermittelt über lprcPosRect) bereitgestellt werden. Wenn der Vergleich nicht zu einer Übereinstimmung führt, wendet der Container eine Skalierung auf das Objekt an. Das Objekt muss dann entscheiden, ob es die direkte Bearbeitung im Skalierungs-/Zoommodus fortsetzen oder deaktivieren soll.

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 oleidl.h

Weitere Informationen

GetMessage

IOleInPlaceObject

IOleInPlaceSite::OnPosRectChange

PeekMessage