|
IOleWindow::ContextSensitiveHelp
Determines whether context-sensitive help mode should be entered during an
in-place activation session.
HRESULT ContextSensitiveHelp(
BOOL fEnterMode
| //Specifies whether or not to enter help mode
| );
|
|
Parameter
fEnterMode
[in] Specifies TRUE if help mode should be entered; FALSE if it should be
exited.
Return Values
S_OK
The help mode was entered or exited successfully, depending on the value
passed in fEnterMode.
E_OUTOFMEMORY
Out of memory.
E_INVALIDARG
The argument is invalid.
E_UNEXPECTED
An unexpected error occurred.
Comments
Applications can invoke context-sensitive help when the user
- presses SHIFT+F1, then clicks a topic
- presses F1 when a menu item is selected.
When SHIFT+F1 is pressed, either the frame or active object can receive the keystrokes. If
the container's frame receives the keystrokes, it calls its containing
document's IOleWindow::ContextSensitiveHelp method with fEnterMode set to TRUE. This propagates the help state to all of its in-place objects so
they can correctly handle the mouse click or WM_COMMAND.
If an active object receives the SHIFT+F1 keystrokes, it calls the container's IOleInPlaceSite::ContextSensitiveHelp method with fEnterMode TRUE, which then recursively calls each of its in-place sites until there are
no more to be notified. The container then calls its document's or frame's ContextSensitiveHelp method with fEnterMode TRUE.
When in context-sensitive help mode, an object that receives the mouse click
can either:
- Ignore the click if it does not support context-sensitive help, or
- Tell all the other objects to exit context-sensitive help mode with ContextSensitiveHelp set to FALSE and then provide help for that context.
An object in context-sensitive help mode that receives a WM_COMMAND should
tell all the other in-place objects to exit context-sensitive help mode and then
provide help for the command.
If a container application is to support context-sensitive help on menu items,
it must either provide its own message filter so that it can intercept the F1 key or ask the OLE library to add a message filter by calling OleSetMenuDescriptor, passing valid, non-NULL values for the lpFrame and lpActiveObj parameters.
See Also
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 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
|