ATL 개체 마법사를 작성 하 고 컨트롤을 실행할 수 있도록 하 고 프로젝트 파일에서의 메서드를 작성 하 고 DHTML이 디스패치 메서드를 사용 하 여 컨트롤의 c + + 코드를 호출 하는 방법을 볼 수 있도록 기초 코드를 제공 합니다. 디스패치 메서드를 인터페이스에 추가할 수 있습니다. 그런 다음 HTML 리소스에서 메서드를 호출할 수 있습니다.
ATL DHTML 컨트롤을 수정 하려면
참고 "UI"로 끝나는 인터페이스에는 하나의 메서드가 OnClick . "UI"에 종료 하지 않는 인터페이스에는 메서드。
MethodInvoked "UI"에 종료 하지 않는 인터페이스이 메서드는 DHTML 컨트롤과 상호 작용 하는 데 사용 하는 인터페이스에 없는 컨테이너의 상호 작용에 대 한 컨트롤 컨테이너에서 사용 되는 인터페이스에 추가 됩니다. 컨테이너에만이 메서드를 호출할 수 있습니다.
:: MessageBox(NULL, "I'm invoked", "Your Container Message", MB_OK)
HelloHTML ,이 시간에만 "UI"로 끝나는 인터페이스에 추가 스텁 아웃을 찾아 HelloHTML 메서드는.cpp 파일 하 고 예를 들어 메시지 상자를 표시 하는 코드 추가: :: MessageBox(NULL, "Here's your message", "HelloHTML", MB_OK)
GoToURL , "UI"로 끝나는 인터페이스에도 이 메서드를 호출 하 여 구현 IWebBrowser2::Navigate, 다음과 같은m_spBrowser-gt;Navigate(CComBSTR("www.microsoft.com"), NULL, NULL, NULL, NULL)(&G)
ATL.h 파일에 당신을 위해 해당 인터페이스에 대 한 포인터를 제공 하므로 IWebBrowser2 메서드를 사용할 수 있습니다.
그런 다음 만든 메서드를 호출 하는 HTML 리소스를 수정 합니다. 이러한 메서드를 호출 하는 것에 대 한 세 개의 단추를 추가할 것입니다.
HTML 리소스 수정 하려면
HTML, 특히 외부 Windows 디스패치 메서드에 호출을 검사 합니다. HTML 호출 프로젝트의 OnClick 메서드와 매개 변수를 나타내는 컨트롤의 본문 ( theBody )와 색상을 할당 (" red "). 다음 메서드를 호출 하는 텍스트는 단추에 표시 되는 레이블을。
OnClick 방법, 색 변경 합니다. 예를 들어:lt; br >
<br>
< 단추 onclick='window.external.OnClick (theBody, "화이트");'> 새로 고침 < / 버튼 & gt
이 메서드는 표시 새로 고침, 원래, 흰색 배경 컨트롤을 반환 하려면 클릭할 수 있는 단추를 만듭니다.
HelloHTML 메서드를 만든. 예를 들어:lt; br >
<br>
< 단추 onclick='window.external.HelloHTML();'> HelloHTML < / 버튼 & gt
이 메서드는 HelloHTML, 사용자 표시를 클릭할 수 있는 단추를 만듭니다 합니다 HelloHTML 메시지 상자。
GoToURL 만든 메서드. 예를 들어:lt; br >
<br>
< 단추 onclick='window.external.GoToURL();'> WWW < / 버튼 & gt
이 메서드는 WWW사용자 컨트롤에서 Microsoft 웹 페이지를 표시 하려면 클릭할 수 있는 단추를 만듭니다.
이제 빌드 및 수정된 DHTML 컨트롤을 테스트할 수 있습니다.