일반 인터페이스를 구현 하는 컨트롤 외에 그것은 c + + 코드와 HTML 사용자 인터페이스 (UI) 간에 통신 하는 데 사용 되는 추가 인터페이스를 구현 합니다. 이 인터페이스를 사용 하 여 c + + 코드를 호출 하는 HTML UI。
UI 컨트롤에 대 한 HTML 리소스를 만듭니다.
그것은 멤버 변수를 통해 DHTML 개체 모델에 액세스할 수 있습니다 m_spBrowser ,이 형식에 대 한 스마트 포인터 IWebBrowser2. 이 포인터를 사용 하 여 DHTML 개체 모델의 모든 부분에 액세스。
DHTML 컨트롤 프로젝트의 요소를 검사
다음 그래픽에서는 DLL, DHTML 컨트롤, 웹 브라우저와 HTML 리소스 사이의 관계를 보여 줍니다.
메모nbsp;??이 그래픽에 이름은 자리 표시자입니다. HTML 리소스와 컨트롤에서 노출 하는 인터페이스의 이름은 ATL 개체 마법사에서 할당 이름에 기반(&N)。
이 그래픽 요소는:
내 DLLnbsp;??Appwizard를 사용 하 여 만든 DLL(&N)。
DHTML 컨트롤 ( m_spBrowser ) nbsp;??DHTML 컨트롤 ATL 개체 마법사를 사용 하 여 만든. 이 컨트롤 IWebBrowser2웹 브라우저 개체의 인터페이스를 통해 웹 브라우저 개체 및 메서드에 액세스합니다. 컨트롤에 필요한 다른 표준 인터페이스 외에 다음 두 가지 인터페이스를 노출 하는 컨트롤 자체(&N)。
IDHCTL1nbsp;??컨테이너에 의해서만 사용 하기 위해 컨트롤에 의해 노출 되는 인터페이스(&N)。
IDHCTLUI1nbsp;??C + + 코드와 HTML 사용자 인터페이스 간의 통신에 대 한 디스패치 인터페이스입니다. 웹 브라우저 컨트롤의 디스패치 인터페이스를 사용 하 여 컨트롤을 표시 합니다. 호출 하 여 컨트롤의 사용자 인터페이스에서이 디스패치 인터페이스의 다양 한 메서드를 호출할 수 있습니다 window.external 호출 하려는이 디스패치 인터페이스에 메서드 이름이 옵니다. 액세스 하는 것 window.external 이 컨트롤에 대 한 UI를 구성 하는 HTML 내의 스크립트 태그에서. 리소스 파일에 외부 메서드를 호출 하는 방법에 대 한 자세한 내용은 다음 웹 사이트를 참조 하십시오. DHTML에서 c + + 코드 호출(&N)。
IDR_CTL1nbsp;??HTML 리소스의 리소스 ID입니다. 파일 이름,이 경우 DHCTL1UI.htm입니다. DHTML 컨트롤 사용 하 여 표준 HTML 태그와 텍스트 편집기를 사용 하 여 편집할 수 있는 외부 창 디스패치 명령을 포함 하는 HTML 리소스(&N)。
웹 브라우저nbsp;??웹 브라우저를 기반으로 HTML 리소스에서 HTML 컨트롤의 UI가 표시 됩니다. 웹 브라우저의 IWebBrowser2 인터페이스에 대 한 포인터는 DHTML 개체 모델에 대 한 액세스를 허용 하려면 DHTML 컨트롤에서 사용할 수(&N)。
ATL 개체 마법사 HTML 리소스와.cpp 파일에서 기본 코드를 사용 하 여 컨트롤을 생성합니다. 컴파일 하 고 및 마법사에 의해 생성 되는 컨트롤을 실행 하 고, 웹 브라우저 또는 테스트 컨테이너에서 컨트롤을 볼 수 있습니다. 아래 그림 테스트 컨테이너에 표시 되는 단추가 세 개 있는 기본 ATL DHTML 컨트롤을 보여 줍니다.: