IOleWindow::ContextSensitiveHelp

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

Determines whether context-sensitive help mode should be entered during an in-place activation session.

Syntax

HRESULT ContextSensitiveHelp( 
  BOOL fEnterMode 
);

Parameters

  • fEnterMode
    [in] TRUE if help mode should be entered; FALSE if it should be exited.

Return Value

This method supports the following return values:

Value Description

S_OK

The help mode was entered or exited successfully, depending on the value passed in fEnterMode.

E_INVALIDARG

The call to the method contains an invalid argument.

E_OUTOFMEMORY

The call could not be completed due to lack of free memory.

E_UNEXPECTED

The call to the method unexpectedly failed.

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:

  • Ignore the click if it does not support context-sensitive help.
  • 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.

Requirements

Header Oleidl.h
Windows Embedded CE Windows CE .NET 4.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

OleSetMenuDescriptor
IOleWindow