Win32 , C++

MFC DHTML 기반 다이얼로그에 리소스에 있는 이미지 사용하는 방법

김모작자 2007. 1. 3. 19:00
예전에 Pubby 만들때 몰라서 애먹었다 -_-


기본 과정 :

1. RESOURCE 파일에 HTML (VS2002 이상에서는 HTML 문서로 인식해 편집에 편리) 등의 항목을 추가후에.. HTML 파일을 추가해준다
2. HTML 파일 내에 이용하는 이미지 파일을 포함시키기 위해 별도의 리소스 섹션을 만들어 추가
  이 때 가급적 숫자로 해당 이미지를 추가하면 작업하기 편하다
3. HTML 파일의 이미지 경로를 수정해준다.
4. HTML 파일의 이미지 또는 href 경로에 "리소스섹션명/ID" 형식으로 기록한다.

---- RC 파일에서 발췌 ---------------

IDR_HTML_PAGE      HTML                    "my_html.htm"

100        MY_IMG        "intro_images/01.gif"
101        MY_IMG        "intro_images/02.gif"
102        MY_IMG        "intro_images/03.gif"
103        MY_IMG        "intro_images/04.gif"
104        MY_IMG        "intro_images/05.gif"
105        MY_IMG        "intro_images/main.jpg"

---- HTML 파일에서 발췌 -------------------

<img ID="HELP" src="MY_IMG/104" border="0">

추가 작업 :
별도의 처리를 하지 않은채 실행하여 오른쪽 버튼을 누르면 Internet Explorer 에서 보던 팝업 메뉴가 생긴다.
이 context-menu가 뜨지 않도록 하기 위해 body 태그에 oncontextmenu 에 대한 핸들러를 추가해준다
또는 이에 상응하는 방법으로 팝업 메뉴를 처리한다.



주의 :
1. CDHTMLDialog 에서 사용할 Dialog 리소스에 Control 속성이 false 가 되도록 하자.
2. 간혹 부모 다이얼로그에 WM_GETDLGCODE 를 무한으로 보낼경우가 있는데, 이 때 부모 다이얼로그에 WM_GETDLGCODE 핸들러를 추가해
   0 이 아닌 코드를 리턴해주면 해결된다