IOleInPlaceUIWindow::SetBorderSpace
Allocates
space for the border requested in the call to IOleInPlaceUIWindow::RequestBorderSpace.
HRESULT SetBorderSpace(
LPCBORDERWIDTHS pborderwidths |
//Pointer to a structure |
); |
|
Parameter
pborderwidths
[in] Pointer
to a BORDERWIDTHS structure containing the requested width (in pixels)
of the tools. It can be NULL, indicating the object does not need any space.
Return Values
This method
supports the standard return values E_INVALIDARG and E_UNEXPECTED, as well as
the following:
S_OK
The requested
space has been allocated to the object.
OLE_E_INVALIDRECT
The rectangle
does not lie within the specifications returned by IOleInPlaceUIWindow::GetBorder.
Remarks
The object
must call IOleInPlaceUIWindow::SetBorderSpace. It can do any one of the
following:
Use its own toolbars,
requesting border space of a specific size, or,
Use no toolbars, but force the
container to remove its toolbars by passing a valid BORDERWIDTHS
structure containing nothing but zeros in the pborderwidths parameter,
or,
Use no toolbars but allow the
in-place container to leave its toolbars up by passing NULL as the pborderwidths
parameter.
The BORDERWIDTHS
structure used in this call would generally have been passed in a previous call
to IOleInPlaceUIWindow::RequestBorderSpace, which must have returned
S_OK.
If an object
must renegotiate space on the border, it can call SetBorderSpace again
with the new widths. If the call to SetBorderSpace fails, the object can
do a full negotiation for border space with calls to GetBorder, RequestBorderSpace,
and SetBorderSpace.
Note While
executing IOleInPlaceUIWindow::SetBorderSpace, do not make calls to the
Windows PeekMessage or GetMessage functions, or a dialog box.
Doing so may cause the system to deadlock. There are further restrictions on
which OLE interface methods and functions can be called from within SetBorderSpace.
See Also