IOleInPlaceFrame::SetStatusText
Sets and
displays status text about the in-place object in the container s frame window
status line.
HRESULT SetStatusText(
LPCOLESTR pszStatusText |
//Pointer to message to display |
); |
|
Parameter
pszStatusText
[in] Pointer
to a null-terminated character string containing the message to display.
Return Values
This method
supports the standard return values E_FAIL, E_INVALIDARG, and E_UNEXPECTED, as
well as the following:
S_OK
The text was
displayed.
S_TRUNCATED
Some text was
displayed but the message was too long and was truncated.
Remarks
Notes to Callers
You should
call SetStatusText when you need to ask the container to display object
text in its frame s status line, if it has one. Because the container s frame
window owns the status line, calling IOleInPlaceFrame::SetStatusText is
the only way an object can display status information in the container s
frame window. If the container refuses the object s request, the object
application can, however, negotiate for border space to display its own status
window.
Note When switching
between menus owned by the container and the in-place active object, the status
bar text is not reflected properly if the object does not call the container s IOleInPlaceFrame::SetStatusText
method. For example, if, during an in-place session, the user were to select
the File menu, the status bar would reflect the action that would occur if the
user selected this menu. If the user then selects the Edit menu (which is owned
by the in-place object), the status bar text would not change unless the IOleInPlaceFrame::SetStatusText
happened to be called. This is because there is no way for the container to
recognize that one of the object s menus has been made active because all the
messages that the container would trap are now going to the object.
Notes to Implementers
To avoid
potential problems, all objects being activated in place should process the
WM_MENUSELECT message and call IOleInPlaceFrame::SetStatusText even if the object does not usually provide status
information (in which case the object can just pass a NULL string for the
requested status text).
Note While
executing IOleInPlaceFrame::SetStatusText, 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 GetBorder.
See Also