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] TRUE if
help mode should be entered; FALSE if it should be exited.
Return Values
This method
supports the standard return values E_INVALIDARG, E_OUTOFMEMORY, and E_UNEXPECTED,
as well as the following:
S_OK
The help mode
was entered or exited successfully, depending on the value passed in fEnterMode.
Remarks
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:
1. Ignore the click if it does not support
context-sensitive help, or
2. 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
See Also