다음을 통해 공유


<PAVE OVER> 상황에 맞는 도움말 표시

사용자가 액세스하는 대화 상자에서 컨트롤을 지원 하기 위해 편의상 상황에 맞는 도움말을 참조 합니다.

  • F1 키를 누르십시오.

  • 오른쪽으로 컨트롤을 클릭하십시오(What`s This? Help).

  • 물음표 포인터를 사용하십시오. (the What`s This? Help pointer).

상황에 맞는 도움말을 지원하기 위해 각 컨트롤에 대해 HelpIDTrue 로 설정하십시오.

필요하다면, htmlhelp.lib을 프로젝트의 Property Pages 대화 상자내의 LinkerInput 속성 페이지에 있는 Additional Dependencies 속성에 추가하십시오.

상황에 맞는 도움말에 대한 소스 정보는 HTML Help 프로젝트에 포함 하는.txt 파일에 저장 됩니다.

상황에 맞는 도움말 텍스트 파일을 만들려면

  1. 텍스트 편집기를 사용 하여.txt 파일을 만듭니다.

  2. 토픽을 아래와 같이 포맷합니다.

    .topic 1

    help text for control 1

    .topic 2

    help text for control 2

참고

자세한 내용은 온라인 HTML 도움말의 "상황에 맞는 도움말 디자인"을 참조 하십시오.Help 메뉴에서(HTML 도움말 작업 창) Help Topics 를 선택합니다.

.Txt 파일을 만든 다음.hhp 파일의 [Files] 섹션에 추가 합니다.

대화 상자에서 자원에 대한 도움말을 지원 하려면 컨트롤 Id에 도움말 Id (항목 번호)를 매핑하는 2 차원 배열을 만들어야 합니다.

2 차원 배열을 만들려면

  • 대화 상자를 나타내는 모든 클래스의 .cpp 파일에는 2 차원 배열 클래스의 끝을 추가 합니다. 예를 들면 다음과 같습니다.

    static DWORD myarray[] = {
       IDC_CHECK1, 1,
       IDC_BUTTON1, 2,
       IDC_EDIT1, (DWORD)-1,
       0,0
    };
    

2 차원 배열에서 각 엔트리는 상황에 맞는 도움말 텍스트 파일에서 토픽 수를 사용하여 대화 상자 컨트롤에 대해 리소스 ID를 쌍으로 엮습니다. What`s This? 를 갖지 않기 위해 리소스를 정의하고 싶지 않은 경우 Help, use –1. 이 배열의 마지막 쌍은 0, 0 이어야 합니다.

상황에 맞는 도움말에 F1 액세스 컨트롤이 도움말에 액세스하려면 포커스가있을 때 사용자가 F1 키를 누르면 할 수 있습니다.

상황에 맞는 도움말 F1에 액세스할 수 있도록 하려면

  • WM_HELPINFO 메세지에 대한 처리기를 구현하고 (상황에 맞는 도움말 F1 엑세스를 원하는 각 대화상자에서) 처리기에 대해 아래의 코드를 구현합니다.

    BOOL CMyDlg::OnHelpInfo(HELPINFO* pHelpInfo)
    {
       BOOL bRet = TRUE;
    
       if (pHelpInfo->iContextType == HELPINFO_WINDOW)
       {
          HWND hwnd = ::HtmlHelp(
             (HWND)pHelpInfo->hItemHandle,
             _T("my_chm.chm::/ctrlhlp.txt"),
             HH_TP_HELP_WM_HELP,
             (DWORD)(LPVOID)myarray);
          bRet = (NULL != hwnd);
       }
    
       return bRet;
    }
    

What's This? 도움말은 컨트롤을 클릭할 때 컨트롤의 도움말을 표시 합니다.

What`s This? 오른쪽 클릭을 구현하려면도움말

  • What`s This? 를 원하는 각 대화상자 클래스에 WM_CONTEXTMENU 메세지에 대한 처리기를 구현하십시오. (Mapping Messages to Functions 를 참조하십시오) Help (개체 ID들의 목록에서 대화상자에 대한 ID를 선택합니다). 처리기에 다음 코드를 구현 합니다.

    void CMyDlg::OnContextMenu(CWnd* pWnd, CPoint point)
    {
       UNREFERENCED_PARAMETER(point);
    
       ::HtmlHelp(
          pWnd->GetSafeHwnd(),
          _T("my_chm.chm::/ctrlhlp.txt"),
          HH_TP_HELP_CONTEXTMENU,
          (DWORD)(LPVOID)myarray);
    }
    

.Chm 파일을 지정할 때 예상 되는 위치는 프로젝트의 작업 디렉터리입니다. 작업 디렉터리의 위치에 대해 Property Pages 대화상자의 Debug 의 탭을 참조하십시오. (기본적으로 프로젝트 디렉터리입니다.) 상황에 맞는 도움말이 있는.chm에 텍스트 파일을 지정할 때 .chm의. hhp 파일에서 .txt 파일에 대해 지정한 것과 같은 위치 정보를 지정 해야 합니다.

상황에 맞는 도움말 F1 키 액세스를 이미 구현한 경우. What`s This? 포인터를 쉽게 활성화할 수 있습니다. 포인터를 대화 상자의 오른쪽 위 모서리에 있는 제목 표시줄의 물음표를 표시 하면 됩니다.

What`s This?를 활성화 하려면도움말 물음표 포인터

  • 대화 상자 속성의 Extended Styles 탭에서 Context help 확인란을 선택하십시오.

참고 항목

개념

HTML 도움말: 프로그램에 대한 상황에 맞는 도움말