WinAPI에서 hlp 도움말 호출하기
WinAPI에서 hlp 파일 내의 내용을 띄워주기 위해서는 hlp 파일을 구성하는 각 파일마다 프로그램적으로 구분 가능한 일련번호가 부여되어야 합니다. 프로젝트 화면에서 [Map...] 버튼을 누릅니다. "Map" 대화상자가 뜨면 [Add...] 버튼을 눌러 "App Map Entry" 대화상자를 엽니다. "Topic ID:"에는 rtf 파일에서 '#' 각주로 지정한 문서의 ID를 적고, "Mapped numeric value:"에는 hlp 파일 내에서 중복되지 않는 유일한 값을 임의로 부여합니다. "Comment:"에는 간단한 설명을 붙일 수 있습니다.
프로젝트 화면에 [MAP] 항목이 새로 나타나면서 위에서 적었던 내용들이 나타난다면 컴파일합니다.
Visual C++로 이동합니다. Win32 Application을 선택하여 새로 만듭니다.
소스 파일이 있는 경로와 출력 파일(exe파일)이 있는 경로에 각각 Help Workshop에서 만든 .cnt 파일과 .hlp 파일을 붙여넣습니다.
WinAPI로 버튼을 하나 만든 다음, 버튼을 클릭 시 메시지를 처리하는 부분에서 아래의 함수를 호출합니다.
WinHelp(소유주가 되는 창의 핸들, ".hlp파일명", HELP_CONTEXT, 보여줄 문서의 일련번호);
첫 번째 매개변수는 대체로 NULL을 쓰면 되고, 네 번째 매개변수는 Help Workshop의 Map 대화상자에서 부여된 일련번호를 입력합니다.
버튼을 클릭 시 해당 내용이 보여지는 것을 확인할 수 있습니다.
네 번째 매개변수를 바꿈으로써 상황에 맞는 적절한 도움말을 보여줄 수 있습니다.