메뉴 건너뛰기

OBG

Programming

API/MFC
2012.04.16 12:56

MFC, CHM파일 연동 (context help)

조회 수 740 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Tool : VC++ 2008 sp1
OS : WindowsXP sp3

프로젝트 생성시 Dialog base로 생성 했습니다.
특별히 손댄건 없고, Dialog base로 설정하고 ActivX만 뺐어요. 
(ActiveX는 뭔지 몰라서 빼버린;;; 모르는건 쓰지 말자는 주의라서;;;)

먼저 Dialog class에서 WM_HELPINFO 를 재정의 합니다.
BOOL CHelpFileDlg::OnHelpInfo(HELPINFO* pHelpInfo) <- 요딴 메소드(함수)가 생기죠?
이 메소드(함수)에서, 
::HtmlHelp(this->m_hWnd, szFilePath, HH_DISPLAY_TOPIC, 0); 
요런식으로 호출 해 주면 됩니다.

단!!! 아주 중요한게 있습니다.
#pragma comment(lib, "Htmlhelp.Lib") 
요게 들어 가야 한다는거~~~
이거 빼고 컴파일 하시면 엄청난(?) 일이 발생합니다.

컴파일 못한다고 배 째라고 합니다. -_-;;;

당연한 일입니다. 함수 선언은 했지만, 함수를 호출 할 위치를 모릅니다. 
(함수 선언은 HtmlHelp.h 파일에 선언이 되어 있고, 특별히 헤더파일을 include 하지 않아도 어느 포인트인진 모르겠지만 추가가 되어 있네요;;)
하지만 문제는 구현부가 없다는거~
함수를 선언은 했지만 구현부가 없기에 호출을 못하니 컴파일러는 당연히 “배째~” 이럽니다.

일단... 제가 테스트 한 풀 소스를.......올리긴 무의미해 보이고, 
함수만 올립니다.

BOOL CHelpFileDlg::OnHelpInfo(HELPINFO* pHelpInfo)
{
    BOOL    res = TRUE;

    CString    szFilePath;
    CWnd*    wnd;
    WCHAR    szTmp[2048];
    HWND    hHtml= NULL;

    wnd = GetDlgItem(IDC_PATH);
    wnd->GetWindowText(szTmp, 2047);
    szFilePath = szTmp;

    switch (pHelpInfo->iContextType)
    {
    case HELPINFO_MENUITEM:
        break;

    case HELPINFO_WINDOW:
        #pragma comment(lib, "Htmlhelp.Lib")
        hHtml = ::HtmlHelp(this->m_hWnd, szFilePath, HH_DISPLAY_TOPIC, 0);
        return res;
        break;
    }
    return CDialog::OnHelpInfo(pHelpInfo);
}



<2010. 07. 27 추가>
※ MFC 6.0에서는 “htmlhelp.h” 파일과 “htmlhelp.dll” 파일을 따로 추가 해 주어야 한다. 

※ 특정 Page로 바로가기를 원하는 경우, “파일명::/페이지명”으로 지정 해 주면 된다.
ex) 
가정 "test.chm" 파일이 존재하고, "intro.htm"페이지가 있다.
이럴 경우 "test.chm::/intro.htm"이라고 하면 바로 intro.htm 파일을 열어준다.


http://inusing.tistory.com/74


추가 링크


http://msdn.microsoft.com/en-us/library/dyd1yfww(v=vs.90).aspx

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 Tool/etc Programming 게시판 관련 2 MoA 2014.11.01 1949
227 서버 SSH-Tunneling을 통한 MySQL 서버 연결 OBG 2023.04.21 150
226 Web How to send dynamic charts with a Slack bot OBG 2022.05.31 151
225 서버 Building Pitaya, Wildlife’s own scalable game server framework OBG 2022.06.07 159
224 Deeplearning Stable Diffusion OBG 2022.09.27 161
223 Deeplearning 추천(Recommendation) 시스템 - 알고리즘 Trend 정리 OBG 2021.08.03 162
222 Database What's the difference between comma separated joins and join on syntax in MySQL? OBG 2022.06.09 166
221 Tool/etc What does the last “-” (hyphen) mean in options of `bash`? OBG 2021.04.29 172
220 Tool/etc What does set -e mean in a bash script? OBG 2021.04.29 179
219 Deeplearning RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED ... OBG 2022.09.06 197
218 Web 카카오톡 웹버전 만들기 OBG 2022.11.09 213
217 Tool/etc 에디트 플러스, VS 2008 컴파일 환경 설정 너울 2012.04.02 249
216 Site Start Something! - Windows 8 개발 공식 사이트 Naya 2012.08.02 261
215 Site IT 세미나 유튜브 동영상 Naya 2012.09.10 265
214 Site 프로그래밍 관련 사이트 MoA 2012.08.02 267
213 Site 윈도우 8 앱 개발 동영상 강의 Naya 2012.09.10 276
212 Site 이미지공학(IE) 연구실 MoA 2013.07.28 287
211 Graphic Direct3D 9 compile MoA 2013.07.28 289
210 Site 디자인 패턴 정리 너울 2011.09.21 292
209 Tool/etc 어셈블리어 컴파일 - 기초 Naya 2012.08.02 295
208 Tool/etc 에디트 플러스, VS 2008 컴파일 환경 설정 MoA 2013.07.28 297
Board Pagination Prev 1 ... 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15
위로