|
IOleInPlaceUIWindow::SetActiveObject
Provides a direct channel of communication between the object and each of the
frame and document windows.
HRESULT SetActiveObject(
IOleInPlaceActiveObject *pActiveObject,
| //Points to active in-place object
| LPCOLESTR pszObjName
| //Points to name describing the object
| );
|
|
Parameters
pActiveObject
[in] Points to the active in-place object's IOleInPlaceActiveObject interface.
pszObjName
[in] Points to a string containing a name that describes the object an
embedding container can use in composing its window title. It can be NULL if the
object does not require the container to change its window titles. The Microsoft Windows User Interface Design Guide recommends that containers ignore this parameter and always use their own
name in the title bar.
Return Values
S_OK
The method completed successfully.
E_INVALIDARG
One or more arguments are invalid.
E_UNEXPECTED
An unexpected error occurred.
Comments
Generally, an embedded object should pass NULL for the pszObjName parameter (see "Notes to Implementors" below). However, if you are working in
conjunction with a container that does display the name of the in-place active
object in its title bar, then you should compose a string in the following
form:
<application name> <object short-type name>
Notes to Callers
IOleInPlaceUIWindow::SetActiveObject is called by the object to establish a direct communication link between
itself and the document and frame windows.
When deactivating, the object calls IOleInPlaceUIWindow::SetActiveObject, passing NULL for the pActiveObject and pszObjName parameters.
An object must call IOleInPlaceUIWindow::SetActiveObject before calling IOleInPlaceFrame::SetMenu to give the container the pointer to the active object. The container then
uses this pointer in processing IOleInPlaceFrame::SetMenu and to pass to OleSetMenuDescriptor.
Notes to Implementors
The Microsoft Windows User Interface Design Guide recommends that an in-place container ignore the pszObjName parameter passed in this method. The guide says "The title bar is not
affected by in-place activation. It always displays the top-level container's name."
See Also
IOleInPlaceFrame::SetMenu, OleSetMenuDescriptor
Related LinksSoftware for Delphi and C++ Builder developers Software for Visual Studio .NET developers Software for Visual Basic 6 developers Delphi Tips&Tricks
MegaDetailed.NET
TMS Scripter Studio Pro components for Delphi/C++Builder
More Online Helps Win32 Programmer's Reference (win32.hlp) Win32 Multimedia Programmer's Reference (mmedia.hlp) Microsoft Windows Pen API Programmer's Reference (penapi.hlp) Microsoft Windows Sockets 2 Reference (sock2.hlp) Microsoft Windows Telephony API (TAPI) Programmer's Reference (sock2.hlp) Unix Manual Pages
|