다음을 통해 공유


IOleWindow::ContextSensitiveHelp 메서드(oleidl.h)

현재 위치 활성화 세션 중에 상황에 맞는 도움말 모드를 입력해야 하는지 여부를 결정합니다.

구문

HRESULT ContextSensitiveHelp(
  [in] BOOL fEnterMode
);

매개 변수

[in] fEnterMode

도움말 모드를 입력해야 하는 경우 TRUE입니다. 종료 해야 하는 경우 FALSE입니다.

반환 값

이 메서드는 fEnterMode에 전달된 값에 따라 도움말 모드가 성공적으로 입력되거나 종료된 경우 S_OK 반환합니다. 다른 가능한 반환 값은 다음과 같습니다.

반환 코드 설명
E_INVALIDARG
지정된 fEnterMode 값이 잘못되었습니다.
E_OUTOFMEMORY
이 작업에 사용할 수 있는 메모리가 부족합니다.
E_UNEXPECTED
예기치 않은 오류가 발생했습니다.

설명

애플리케이션은 사용자가 다음을 수행할 때 상황에 맞는 도움말을 호출할 수 있습니다.

  • SHIFT+F1을 누른 다음 항목을 클릭합니다.
  • 메뉴 항목이 선택되면 F1 키를 누릅니다.
SHIFT+F1을 누르면 프레임 또는 활성 개체가 키 입력을 받을 수 있습니다. 컨테이너의 프레임이 키 입력을 수신하는 경우 fEnterModeTRUE로 설정된 포함된 문서의 IOleWindow::ContextSensitiveHelp 메서드를 호출합니다. 이렇게 하면 도움말 상태가 모든 현재 위치 개체에 전파되므로 마우스 클릭 또는 WM_COMMAND 올바르게 처리할 수 있습니다.

활성 개체가 SHIFT+F1 키 입력을 수신하는 경우 fEnterModeTRUE를 사용하여 컨테이너의 IOleWindow::ContextSensitiveHelp 메서드를 호출한 다음, 알림을 더 이상 받을 수 없을 때까지 각 현재 위치 사이트를 재귀적으로 호출합니다. 그런 다음 컨테이너는 fEnterModeTRUE를 사용하여 문서 또는 프레임의 IOleWindow::ContextSensitiveHelp 메서드를 호출합니다.

상황에 맞는 도움말 모드에서 마우스 클릭을 수신하는 개체는 다음 중 하나를 수행할 수 있습니다.

  • 상황에 맞는 도움말을 지원하지 않는 경우 클릭을 무시합니다.
  • ContextSensitiveHelpFALSE로 설정된 상태에서 상황에 맞는 도움말 모드를 종료하도록 다른 모든 개체에 지시한 다음 해당 컨텍스트에 대한 도움말을 제공합니다.
WM_COMMAND 수신하는 상황에 맞는 도움말 모드의 개체는 다른 모든 현재 위치 개체에 상황에 맞는 도움말 모드를 종료한 다음 명령에 대한 도움말을 제공하도록 지시해야 합니다.

컨테이너 애플리케이션이 메뉴 항목에 대한 상황에 맞는 도움말을 지원하는 경우 F1 키를 가로채거나 OLE 라이브러리에 OleSetMenuDescriptor를 호출하여 lpFramelpActiveObj 매개 변수에 유효한 NULL이 아닌 값을 전달하여 메시지 필터를 추가하도록 요청할 수 있도록 자체 메시지 필터를 제공해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 oleidl.h

추가 정보

IOleWindow

OleSetMenuDescriptor