Metodo IOleInPlaceObject::SetObjectRects (oleidl.h)

Specifica la quantità di oggetto sul posto da visualizzare.

Sintassi

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

Parametri

[in] lprcPosRect

Puntatore alla struttura RECT contenente la posizione dell'oggetto sul posto usando le coordinate client della finestra padre.

[in] lprcClipRect

Puntatore al rettangolo esterno contenente il rettangolo di posizione dell'oggetto sul posto (lprcPosRect). Questo rettangolo è relativo all'area client della finestra padre dell'oggetto.

Valore restituito

Questo metodo restituisce S_OK se l'operazione ha esito positivo. Gli altri valori restituiti possibili includono i seguenti:

Codice restituito Descrizione
E_INVALIDARG
Il puntatore specificato non è valido.
E_OUTOFMEMORY
Per l'operazione è disponibile memoria insufficiente.
E_UNEXPECTED
Si è verificato un errore imprevisto.

Commenti

È possibile modificare lprcClipRect senza la modifica di lprcPosRect .

Le dimensioni del rettangolo di un oggetto sul posto sono sempre calcolate in pixel. Questo è diverso da altre visualizzazioni dell'oggetto OLE, che si trovano in HIMETRIC.

Nota Durante l'esecuzione di IOleInPlaceObject::SetObjectRects, non effettuare chiamate alle funzioni PeekMessage o GetMessage o a una finestra di dialogo. In questo modo può causare il deadlock del sistema. Esistono ulteriori restrizioni per cui è possibile chiamare metodi e funzioni dell'interfaccia OLE all'interno di IOleInPlaceObject::SetObjectRects.
 

Note ai chiamanti

Il contenitore deve chiamare IOleInPlaceObject::SetObjectRects ogni volta che la posizione della finestra dell'oggetto sul posto e/o la parte visibile dell'oggetto sul posto cambia.

Note per gli implementatori

L'oggetto deve ridimensionare la finestra sul posto per corrispondere all'intersezione di lprcPosRect e lprcClipRect. L'oggetto deve anche disegnare il contenuto nella finestra sul posto dell'oggetto in modo che venga eseguita la clipping appropriata.

L'oggetto deve confrontare la larghezza e l'altezza con quelli forniti dal contenitore (trasmesso tramite lprcPosRect). Se il confronto non genera una corrispondenza, il contenitore applica il ridimensionamento all'oggetto. L'oggetto deve quindi decidere se deve continuare la modifica sul posto nella modalità scale/zoom o disattivare.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione oleidl.h

Vedi anche

GetMessage

IOleInPlaceObject

IOleInPlaceSite::OnPosRectChange

PeekMessage