IOleDocumentView::SetRectComplex

Sets the rectangular coordinates of the view port, horizontal and vertical scroll bars, and the size box.

[input_sync] HRESULT SetRectComplex(
  LPRECT prcView,    // Pointer to coordinates of view port
  LPRECT prcHScroll, // Pointer to coordinates of horizontal scroll 
                     // bar
  LPRECT prcVScroll, // Pointer to coordinates of vertical scroll bar
  LPRECT prcSizeBox  // Pointer to coordinates of size box
);
 

Parameters

prcView
[in] Pointer to a RECT structure containing the coordinates of the view port.
prcHScroll
[in] Pointer to a RECT structure containing the coordinates of the horizontal scroll bar.
prcVScroll
[in] Pointer to a RECT structure containing the coordinates of the vertical scroll bar.
prcSizeBox
[in] Pointer to a RECT structure containing the coordinates of the size box.

Return Value

This method supports the standard return value E_FAIL, as well as the following:

S_OK
The view was successfully resized to the rectangle.
E_NOTIMPL
The document object that owns this view does not support complex rectangles.

Remarks

View frames that support a workbook metaphor, in which a single document comprises multiple sheets or pages, typically call this method to set the coordinates to be used in common by all the sheets or pages.

Notes to Callers

Calling IOleDocumentView::SetRectComplex is part of the normal activation sequence for document objects that support complex rectangles, usually following a call to IOleDocumentView::UIActivate and preceding a call to IOleDocumentView::Show.

Whenever the window used to display a document object is resized, the container should call SetRectComplex or IOleDocumentView::SetRect to tell the view object to resize itself to the new window dimensions.

Notes to Implementers

Document objects that support complex rectangles mark themselves with DOCMISC_SUPPORTCOMPLEXRECTANGLES, as described in DOCMISC and IOleDocument::GetDocMiscStatus. Document objects that do not support this method can return E_NOTIMPL.

Upon receiving a call to this method, a view should resize itself to fit the coordinates specified in prcView and fit its scrollbars and size box to the areas described in prcHScroll, prcVScroll, and prcSizeBox.

This method is defined with the [input_sync] attribute, which means that the implementing object cannot yield or make another, non input_sync RPC call while executing this method.

QuickInfo

  Windows NT: Use version 5.0 or later.
  Windows: Unsupported.
  Windows CE: Unsupported.
  Header: Declared in docobj.h.

See Also

DOCMISC, IOleDocument::GetDocMiscStatus