CDHtmlDialog
수업
대화 상자 리소스 대신 HTML을 사용하여 사용자 인터페이스를 구현하는 대화 상자를 만드는 데 사용됩니다.
구문
class CDHtmlDialog : public CDialog, public CDHtmlEventSink
멤버
공용 생성자
속성 | 설명 |
---|---|
CDHtmlDialog::CDHtmlDialog |
CDHtmlDialog 개체를 생성합니다. |
CDHtmlDialog::~CDHtmlDialog |
CDHtmlDialog 개체를 삭제합니다. |
공용 메서드
이름 | 설명 |
---|---|
CDHtmlDialog::CanAccessExternal |
로드된 페이지의 스크립팅 개체가 컨트롤 사이트의 외부 디스패치에 액세스할 수 있는지 여부를 확인하기 위해 액세스 검사로 호출되는 재정의 가능 디스패치가 스크립팅에 안전하거나 현재 영역에서 스크립팅에 안전하지 않은 개체를 허용하는지 확인합니다. |
CDHtmlDialog::CreateControlSite |
대화 상자에서 WebBrowser 컨트롤을 호스트하는 컨트롤 사이트 인스턴스를 만드는 데 사용되는 재정의 가능 |
CDHtmlDialog::DDX_DHtml_AxControl |
HTML 페이지에서 ActiveX 컨트롤의 멤버 변수와 속성 값 간에 데이터를 교환합니다. |
CDHtmlDialog::DDX_DHtml_CheckBox |
HTML 페이지의 멤버 변수와 확인란 간에 데이터를 교환합니다. |
CDHtmlDialog::DDX_DHtml_ElementText |
HTML 페이지의 멤버 변수와 HTML 요소 속성 간에 데이터를 교환합니다. |
CDHtmlDialog::DDX_DHtml_Radio |
HTML 페이지의 멤버 변수와 라디오 단추 간에 데이터를 교환합니다. |
CDHtmlDialog::DDX_DHtml_SelectIndex |
HTML 페이지에서 목록 상자의 인덱스 가져오거나 설정합니다. |
CDHtmlDialog::DDX_DHtml_SelectString |
HTML 페이지에서 현재 인덱스 기반 목록 상자 항목의 표시 텍스트를 가져오거나 설정합니다. |
CDHtmlDialog::DDX_DHtml_SelectValue |
HTML 페이지에서 현재 인덱스 기반 목록 상자 항목의 값을 가져오거나 설정합니다. |
CDHtmlDialog::DestroyModeless |
모덜리스 대화 상자를 제거합니다. |
CDHtmlDialog::EnableModeless |
모덜리스 대화 상자를 사용하도록 설정합니다. |
CDHtmlDialog::FilterDataObject |
대화 상자에서 호스트된 브라우저에서 만든 클립보드 데이터 개체를 필터링할 수 있습니다. |
CDHtmlDialog::GetControlDispatch |
IDispatch HTML 문서에 포함된 ActiveX 컨트롤의 인터페이스를 검색합니다. |
CDHtmlDialog::GetControlProperty |
지정된 ActiveX 컨트롤의 요청된 속성을 검색합니다. |
CDHtmlDialog::GetCurrentUrl |
현재 문서와 연결된 URL(Uniform Resource Locator)을 검색합니다. |
CDHtmlDialog::GetDHtmlDocument |
현재 로드된 IHTMLDocument2 HTML 문서에서 인터페이스를 검색합니다. |
CDHtmlDialog::GetDropTarget |
대화 상자가 대안을 IDropTarget 제공할 수 있도록 드롭 대상으로 사용될 때 포함된 WebBrowser 컨트롤에 의해 호출됩니다. |
CDHtmlDialog::GetElement |
HTML 요소의 인터페이스를 가져옵니다. |
CDHtmlDialog::GetElementHtml |
HTML 요소의 innerHTML 속성을 검색합니다. |
CDHtmlDialog::GetElementInterface |
HTML 요소에서 요청된 인터페이스 포인터를 검색합니다. |
CDHtmlDialog::GetElementProperty |
HTML 요소의 속성 값을 검색합니다. |
CDHtmlDialog::GetElementText |
HTML 요소의 innerText 속성을 검색합니다. |
CDHtmlDialog::GetEvent |
IHTMLEventObj 현재 이벤트 개체에 대한 포인터를 가져옵니다. |
CDHtmlDialog::GetExternal |
호스트의 인터페이스를 IDispatch 가져옵니다. |
CDHtmlDialog::GetHostInfo |
호스트의 UI 기능을 검색합니다. |
CDHtmlDialog::GetOptionKeyPath |
사용자 기본 설정이 저장되는 레지스트리 키를 검색합니다. |
CDHtmlDialog::HideUI |
호스트의 UI를 숨깁니다. |
CDHtmlDialog::IsExternalDispatchSafe |
호스트의 IDispatch 인터페이스가 스크립팅에 안전한지 여부를 나타냅니다. |
CDHtmlDialog::LoadFromResource |
지정된 리소스를 WebBrowser 컨트롤에 로드합니다. |
CDHtmlDialog::Navigate |
지정한 URL로 이동합니다. |
CDHtmlDialog::OnBeforeNavigate |
탐색 이벤트가 발생하기 전에 프레임워크에서 호출됩니다. |
CDHtmlDialog::OnDocumentComplete |
문서가 상태에 도달하면 애플리케이션에 알리기 위해 프레임워크에서 READYSTATE_COMPLETE 호출됩니다. |
CDHtmlDialog::OnDocWindowActivate |
문서 창이 활성화되거나 비활성화될 때 프레임워크에서 호출됩니다. |
CDHtmlDialog::OnFrameWindowActivate |
프레임 창이 활성화되거나 비활성화될 때 프레임워크에서 호출됩니다. |
CDHtmlDialog::OnInitDialog |
메시지에 대한 응답으로 호출되었습니다 WM_INITDIALOG . |
CDHtmlDialog::OnNavigateComplete |
탐색 이벤트가 완료된 후 프레임워크에서 호출됩니다. |
CDHtmlDialog::ResizeBorder |
개체에 테두리 공간의 크기를 조정해야 한다고 경고합니다. |
CDHtmlDialog::SetControlProperty |
ActiveX 컨트롤의 속성을 새 값으로 설정합니다. |
CDHtmlDialog::SetElementHtml |
HTML 요소의 innerHTML 속성을 설정합니다. |
CDHtmlDialog::SetElementProperty |
HTML 요소의 속성을 설정합니다. |
CDHtmlDialog::SetElementText |
HTML 요소의 innerText 속성을 설정합니다. |
CDHtmlDialog::SetExternalDispatch |
호스트의 인터페이스를 IDispatch 설정합니다. |
CDHtmlDialog::SetHostFlags |
호스트의 UI 플래그를 설정합니다. |
CDHtmlDialog::ShowContextMenu |
상황에 맞는 메뉴가 표시될 때 호출됩니다. |
CDHtmlDialog::ShowUI |
호스트의 UI를 표시합니다. |
CDHtmlDialog::TranslateAccelerator |
메뉴 가속기 키 메시지를 처리하기 위해 호출됩니다. |
CDHtmlDialog::TranslateUrl |
로드할 URL을 수정하기 위해 호출됩니다. |
CDHtmlDialog::UpdateUI |
호스트에 명령 상태가 변경되었음을 알리기 위해 호출되었습니다. |
공용 데이터 멤버
속성 | 설명 |
---|---|
CDHtmlDialog::m_bUseHtmlTitle |
HTML 문서의 제목을 대화 상자 캡션으로 사용할지 여부를 나타냅니다. |
CDHtmlDialog::m_nHtmlResID |
표시할 HTML 리소스의 리소스 ID입니다. |
CDHtmlDialog::m_pBrowserApp |
웹 브라우저 애플리케이션에 대한 포인터입니다. |
CDHtmlDialog::m_spHtmlDoc |
HTML 문서에 대한 포인터입니다. |
CDHtmlDialog::m_strCurrentUrl |
현재 URL입니다. |
CDHtmlDialog::m_szHtmlResID |
HTML 리소스 ID의 문자열 버전입니다. |
설명
CDHtmlDialog
는 HTML 리소스 또는 URL에서 표시할 HTML을 로드할 수 있습니다.
CDHtmlDialog
는 HTML 컨트롤을 사용하여 데이터 교환을 수행하고 단추 클릭과 같은 HTML 컨트롤의 이벤트를 처리할 수도 있습니다.
상속 계층 구조
CDHtmlSinkHandlerBase2
CDHtmlSinkHandlerBase1
CDHtmlSinkHandler
CDHtmlEventSink
CDHtmlDialog
요구 사항
머리글: afxdhtml.h
DDX_DHtml
도우미 매크로
DDX_DHtml
도우미 매크로를 사용하면 HTML 페이지에서 일반적으로 사용되는 컨트롤 속성에 쉽게 액세스할 수 있습니다.
데이터 교환 매크로
속성 | 설명 |
---|---|
DDX_DHtml_ElementValue |
선택한 컨트롤에서 Value 속성을 설정하거나 검색합니다. |
DDX_DHtml_ElementInnerText |
현재 요소의 시작 태그와 끝 태그 사이의 텍스트를 설정하거나 검색합니다. |
DDX_DHtml_ElementInnerHtml |
현재 요소의 시작 태그와 끝 태그 간에 HTML을 설정하거나 검색합니다. |
DDX_DHtml_Anchor_Href |
대상 URL 또는 앵커 지점을 설정하거나 검색합니다. |
DDX_DHtml_Anchor_Target |
대상 창 또는 프레임을 설정하거나 검색합니다. |
DDX_DHtml_Img_Src |
문서에서 이미지 또는 비디오 클립의 이름을 설정하거나 검색합니다. |
DDX_DHtml_Frame_Src |
연결된 프레임의 URL을 설정하거나 검색합니다. |
DDX_DHtml_IFrame_Src |
연결된 프레임의 URL을 설정하거나 검색합니다. |
CDHtmlDialog::CanAccessExternal
로드된 페이지의 스크립팅 개체가 컨트롤 사이트의 외부 디스패치에 액세스할 수 있는지 여부를 확인하기 위해 액세스 검사로 호출되는 재정의 가능 디스패치가 스크립팅에 안전하거나 현재 영역에서 스크립팅에 안전하지 않은 개체를 허용하는지 확인합니다.
virtual BOOL CanAccessExternal();
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
CDHtmlDialog::CDHtmlDialog
리소스 기반 동적 HTML 대화 상자를 생성합니다.
CDHtmlDialog();
CDHtmlDialog(
LPCTSTR lpszTemplateName,
LPCTSTR szHtmlResID,
CWnd *pParentWnd = NULL);
CDHtmlDialog(
UINT nIDTemplate,
UINT nHtmlResID = 0,
CWnd *pParentWnd = NULL);
매개 변수
lpszTemplateName
대화 상자 템플릿 리소스의 이름인 null로 끝나는 문자열입니다.
szHtmlResID
HTML 리소스의 이름인 null로 끝나는 문자열입니다.
pParentWnd
대화 상자 개체가 속한 부모 또는 소유자 창 개체(형식 CWnd
)에 대한 포인터입니다. NULL
이 경우 대화 상자 개체의 부모 창이 주 애플리케이션 창으로 설정됩니다.
nIDTemplate
대화 상자 템플릿 리소스의 ID 번호를 포함합니다.
nHtmlResID
HTML 리소스의 ID 번호를 포함합니다.
설명
생성자의 두 번째 형식은 템플릿 이름을 통해 대화 상자 리소스에 대한 액세스를 제공합니다. 생성자의 세 번째 형식은 리소스 템플릿의 ID를 통해 대화 상자 리소스에 대한 액세스를 제공합니다. 일반적으로 ID는 접두사로 IDD_
시작합니다.
CDHtmlDialog::~CDHtmlDialog
CDHtmlDialog
개체를 제거합니다.
virtual ~CDHtmlDialog();
설명
멤버 함수는 CWnd::DestroyWindow
에 의해 CDialog::Create
만들어진 모덜리스 대화 상자를 삭제하는 데 사용해야 합니다.
CDHtmlDialog::CreateControlSite
대화 상자에서 WebBrowser 컨트롤을 호스트하는 컨트롤 사이트 인스턴스를 만드는 데 사용되는 재정의 가능
virtual BOOL CreateControlSite(
COleControlContainer* pContainer,
COleControlSite** ppSite,
UINT /* nID */,
REFCLSID /* clsid */);
매개 변수
pContainer
COleControlContainer
개체에 대한 포인터입니다.
ppSite
에 대한 포인터에 대한 포인터입니다 COleControlSite
.
Return Value
성공하면 0이 아니고, 그렇지 않으면 0입니다.
설명
고유한 컨트롤 사이트 클래스의 인스턴스를 반환하도록 이 멤버 함수를 재정의할 수 있습니다.
CDHtmlDialog::DDX_DHtml_AxControl
HTML 페이지에서 ActiveX 컨트롤의 멤버 변수와 속성 값 간에 데이터를 교환합니다.
void DDX_DHtml_AxControl(
CDataExchange* pDX,
LPCTSTR szId,
DISPID dispId,
VARIANT& var);
void DDX_DHtml_AxControl(
CDataExchange* pDX,
LPCTSTR szId,
LPCTSTR szPropName,
VARIANT& var);
매개 변수
pDX
CDataExchange
개체에 대한 포인터입니다.
szId
ActiveX 컨트롤의 HTML 원본에 있는 개체 태그의 ID 매개 변수 값입니다.
dispId
데이터를 교환하려는 속성의 디스패치 ID입니다.
szPropName
속성의 이름입니다.
var
ActiveX 컨트롤 속성과 교환된 값을 보유하는 형식 VARIANT
COleVariant
또는 CComVariant
형식의 데이터 멤버입니다.
예시
// COleVariant m_varSliderValue;
DDX_DHtml_AxControl(pDX, _T("slider1"), 0x0b /* Value */, m_varSliderValue);
CDHtmlDialog::DDX_DHtml_CheckBox
HTML 페이지의 멤버 변수와 확인란 간에 데이터를 교환합니다.
void DDX_DHtml_CheckBox(
CDataExchange* pDX,
LPCTSTR szId,
int& value);
매개 변수
pDX
CDataExchange
개체에 대한 포인터입니다.
szId
HTML 컨트롤의 ID 매개 변수에 대해 지정한 값입니다.
value
교환되는 값입니다.
예시
// int m_nItalic;
DDX_DHtml_CheckBox(pDX, L"italic", m_nItalic);
CDHtmlDialog::DDX_DHtml_ElementText
HTML 페이지의 멤버 변수와 HTML 요소 속성 간에 데이터를 교환합니다.
void DDX_DHtml_ElementText(
CDataExchange* pDX,
LPCTSTR szId,
DISPID dispId,
CString& value);
void DDX_DHtml_ElementText(
CDataExchange* pDX,
LPCTSTR szId,
DISPID dispId,
short& value);
void DDX_DHtml_ElementText(
CDataExchange* pDX,
LPCTSTR szId,
DISPID dispId,
int& value);
void DDX_DHtml_ElementText(
CDataExchange* pDX,
LPCTSTR szId,
DISPID dispId,
long& value);
void DDX_DHtml_ElementText(
CDataExchange* pDX,
LPCTSTR szId,
DISPID dispId,
DWORD& value);
void DDX_DHtml_ElementText(
CDataExchange* pDX,
LPCTSTR szId,
DISPID dispId,
float& value);
void DDX_DHtml_ElementText(
CDataExchange* pDX,
LPCTSTR szId,
DISPID dispId,
double& value);
매개 변수
pDX
CDataExchange
개체에 대한 포인터입니다.
szId
HTML 컨트롤의 ID 매개 변수에 대해 지정한 값입니다.
dispId
데이터를 교환하려는 HTML 요소의 디스패치 ID입니다.
value
교환되는 값입니다.
CDHtmlDialog::DDX_DHtml_Radio
HTML 페이지의 멤버 변수와 라디오 단추 간에 데이터를 교환합니다.
void DDX_DHtml_Radio(
CDataExchange* pDX,
LPCTSTR szId,
long& value);
매개 변수
pDX
CDataExchange
개체에 대한 포인터입니다.
szId
HTML 컨트롤의 ID 매개 변수에 대해 지정한 값입니다.
value
교환되는 값입니다.
CDHtmlDialog::DDX_DHtml_SelectIndex
HTML 페이지에서 목록 상자의 인덱스 가져오거나 설정합니다.
void DDX_DHtml_SelectIndex(
CDataExchange* pDX,
LPCTSTR szId,
long& value);
매개 변수
pDX
CDataExchange
개체에 대한 포인터입니다.
szId
HTML 컨트롤의 매개 변수에 대해 지정한 값입니다 id
.
value
교환되는 값입니다.
CDHtmlDialog::DDX_DHtml_SelectString
HTML 페이지에서 현재 인덱스 기반 목록 상자 항목의 표시 텍스트를 가져오거나 설정합니다.
void DDX_DHtml_SelectString(
CDataExchange* pDX,
LPCTSTR szId,
CString& value);
매개 변수
pDX
CDataExchange
개체에 대한 포인터입니다.
szId
HTML 컨트롤의 ID 매개 변수에 대해 지정한 값입니다.
value
교환되는 값입니다.
CDHtmlDialog::DDX_DHtml_SelectValue
HTML 페이지에서 현재 인덱스 기반 목록 상자 항목의 값을 가져오거나 설정합니다.
void DDX_DHtml_SelectValue(
CDataExchange* pDX,
LPCTSTR szId,
CString& value);
매개 변수
pDX
CDataExchange
개체에 대한 포인터입니다.
szId
HTML 컨트롤의 ID 매개 변수에 대해 지정한 값입니다.
value
교환되는 값입니다.
예시
// CString m_strBlurDir;
DDX_DHtml_SelectValue(pDX, L"blurDir", m_strBlurDir);
CDHtmlDialog::DestroyModeless
개체에서 CDHtmlDialog
모덜리스 대화 상자를 분리하고 개체를 삭제합니다.
void DestroyModeless();
CDHtmlDialog::EnableModeless
모덜리스 대화 상자를 사용하도록 설정합니다.
STDMETHOD(EnableModeless)(BOOL fEnable);
매개 변수
fEnable
Windows SDK에서 IDocHostUIHandler::EnableModeless
참조 fEnable
하세요.
Return Value
E_NOTIMPL
을(를) 반환합니다.
설명
이 멤버 함수는 CDHtmlDialog
Windows SDK에 설명된 대로 구현 IDocHostUIHandler::EnableModeless
입니다.
CDHtmlDialog::FilterDataObject
대화 상자에서 호스트된 브라우저에서 만든 클립보드 데이터 개체를 필터링할 수 있습니다.
STDMETHOD(FilterDataObject)(
IDataObject* pDO,
IDataObject** ppDORet);
매개 변수
pDO
Windows SDK에서 IDocHostUIHandler::FilterDataObject
참조 pDO
하세요.
ppDORet
Windows SDK에서 IDocHostUIHandler::FilterDataObject
참조 ppDORet
하세요.
Return Value
S_FALSE
을(를) 반환합니다.
설명
이 멤버 함수는 CDHtmlDialog
Windows SDK에 설명된 대로 구현 IDocHostUIHandler::FilterDataObject
입니다.
CDHtmlDialog::GetControlDispatch
에서 반환GetDHtmlDocument
한 IDispatch
HTML 문서에 포함된 ActiveX 컨트롤의 인터페이스를 검색합니다.
HRESULT GetControlDispatch(
LPCTSTR szId,
IDispatch** ppdisp);
매개 변수
szId
ActiveX 컨트롤의 HTML ID입니다.
ppdisp
IDispatch
웹 페이지에 있는 경우 컨트롤의 인터페이스입니다.
Return Value
표준 HRESULT
값입니다.
CDHtmlDialog::GetControlProperty
지정된 ActiveX 컨트롤의 요청된 속성을 검색합니다.
VARIANT GetControlProperty(
LPCTSTR szId,
LPCTSTR szPropName);
VARIANT GetControlProperty(
LPCTSTR szId,
DISPID dispId);
VARIANT GetControlProperty(
IDispatch* pdispControl,
DISPID dispId);
매개 변수
szId
ActiveX 컨트롤의 HTML ID입니다.
szPropName
현재 사용자의 기본 로캘에 있는 속성의 이름입니다.
pdispControl
IDispatch
ActiveX 컨트롤의 포인터입니다.
dispId
속성의 디스패치 ID입니다.
Return Value
요청된 속성을 포함하는 변형이거나 컨트롤 또는 속성을 찾을 수 없는 경우 빈 변형입니다.
설명
오버로드는 맨 위에서 가장 효율적이지 않은 것부터 맨 아래에서 가장 효율적인 오버로드까지 나열됩니다.
CDHtmlDialog::GetCurrentUrl
현재 문서와 연결된 URL(Uniform Resource Locator)을 검색합니다.
void GetCurrentUrl(CString& szUrl);
매개 변수
szUrl
CString
검색할 URL을 포함하는 개체입니다.
CDHtmlDialog::GetDHtmlDocument
현재 로드된 IHTMLDocument2
HTML 문서에서 인터페이스를 검색합니다.
HRESULT GetDHtmlDocument(IHTMLDocument2 **pphtmlDoc);
매개 변수
**pphtmlDoc
HTML 문서에 대한 포인터에 대한 포인터입니다.
Return Value
표준 HRESULT
. 성공하면 S_OK
(이)가 반환됩니다.
CDHtmlDialog::GetDropTarget
대화 상자가 대안을 IDropTarget
제공할 수 있도록 드롭 대상으로 사용될 때 포함된 WebBrowser 컨트롤에 의해 호출됩니다.
STDMETHOD(GetDropTarget)(
IDropTarget* pDropTarget,
IDropTarget** ppDropTarget);
매개 변수
pDropTarget
Windows SDK에서 IDocHostUIHandler::GetDropTarget
참조 pDropTarget
하세요.
ppDropTarget
Windows SDK에서 IDocHostUIHandler::GetDropTarget
참조 ppDropTarget
하세요.
Return Value
E_NOTIMPL
을(를) 반환합니다.
설명
이 멤버 함수는 CDHtmlDialog
Windows SDK에 설명된 대로 구현 IDocHostUIHandler::GetDropTarget
입니다.
CDHtmlDialog::GetElement
로 지정된 HTML 요소의 인터페이스를 szElementId
반환합니다.
HRESULT GetElement(
LPCTSTR szElementId,
IDispatch** ppdisp,
BOOL* pbCollection = NULL);
HRESULT GetElement(
LPCTSTR szElementId,
IHTMLElement** pphtmlElement);
매개 변수
szElementId
HTML 요소의 ID입니다.
ppdisp
IDispatch
요청된 요소 또는 요소 컬렉션에 대한 포인터입니다.
pbCollection
BOOL
나타내는 ppdisp
개체가 단일 요소인지 아니면 요소 컬렉션인지를 나타내는 값입니다.
pphtmlElement
요청된 IHTMLElement
요소에 대한 포인터입니다.
Return Value
표준 HRESULT
값입니다.
설명
지정된 ID를 가진 요소가 둘 이상 있을 수 있는 조건을 처리해야 하는 경우 첫 번째 오버로드를 사용합니다. 마지막 매개 변수를 사용하여 반환된 인터페이스 포인터가 컬렉션에 대한 것인지 아니면 단일 항목인지 확인할 수 있습니다. 인터페이스 포인터가 컬렉션에 있는 경우 해당 속성을 쿼리 IHTMLElementCollection
하고 해당 item
속성을 사용하여 서수 위치로 요소를 참조할 수 있습니다.
페이지에 ID가 같은 요소가 두 개 이상 있으면 두 번째 오버로드가 실패합니다.
CDHtmlDialog::GetElementHtml
로 innerHTML
식별되는 szElementId
HTML 요소의 속성을 검색합니다.
BSTR GetElementHtml(LPCTSTR szElementId);
매개 변수
szElementId
HTML 요소의 ID입니다.
Return Value
innerHTML
요소를 찾을 수 없는 경우 식별된 szElementId
NULL
HTML 요소의 속성입니다.
CDHtmlDialog::GetElementInterface
로 식별되는 HTML 요소에서 요청된 인터페이스 포인터를 szElementId
검색합니다.
template <class Q> HRESULT GetElementInterface(
LPCTSTR szElementId,
Q** ppvObj);
HRESULT GetElementInterface(
LPCTSTR szElementId,
REFIID refiid,
void** ppvObj);
매개 변수
szElementId
HTML 요소의 ID입니다.
ppvObj
요소가 발견되고 쿼리가 성공하면 요청된 인터페이스 포인터로 채워지는 포인터의 주소입니다.
refiid
요청된 인터페이스의 IID(인터페이스 ID)입니다.
Return Value
표준 HRESULT
값입니다.
예시
CComPtr<IHTMLInputButtonElement> spBtn1;
CComPtr<IHTMLInputButtonElement> spBtn2;
HRESULT hr = S_OK;
// Use the template overload
hr = GetElementInterface(L"Button1", &spBtn1);
// Use the nontemplate overload
hr = GetElementInterface(L"Button1", IID_IHTMLInputButtonElement,
reinterpret_cast<void **>(&spBtn2));
CDHtmlDialog::GetElementProperty
로 식별szElementId
되는 HTML 요소에서 식별되는 dispId
속성의 값을 검색합니다.
VARIANT GetElementProperty(
LPCTSTR szElementId,
DISPID dispId);
매개 변수
szElementId
HTML 요소의 ID입니다.
dispId
속성의 디스패치 ID입니다.
Return Value
속성 또는 요소를 찾을 수 없는 경우 속성 값 또는 빈 변형입니다.
CDHtmlDialog::GetElementText
로 innerText
식별되는 szElementId
HTML 요소의 속성을 검색합니다.
BSTR GetElementText(LPCTSTR szElementId);
매개 변수
szElementId
HTML 요소의 ID입니다.
Return Value
innerText
속성 또는 NULL
요소를 찾을 수 없는 경우 식별된 szElementId
HTML 요소의 속성입니다.
CDHtmlDialog::GetEvent
IHTMLEventObj
현재 이벤트 개체에 대한 포인터를 반환합니다.
HRESULT GetEvent(IHTMLEventObj** ppEventObj);
매개 변수
ppEventObj
인터페이스 포인터로 채울 포인터의 IHTMLEventObj
주소입니다.
Return Value
표준 HRESULT
값입니다.
설명
이 함수는 DHTML 이벤트 처리기 내에서만 호출해야 합니다.
CDHtmlDialog::GetExternal
호스트의 인터페이스를 IDispatch
가져옵니다.
STDMETHOD(GetExternal)(IDispatch** ppDispatch);
매개 변수
ppDispatch
Windows SDK에서 IDocHostUIHandler::GetExternal
참조 ppDispatch
하세요.
Return Value
성공 또는 E_NOTIMPL
실패에 대해 반환 S_OK
합니다.
설명
이 멤버 함수는 CDHtmlDialog
Windows SDK에 설명된 대로 구현 IDocHostUIHandler::GetExternal
입니다.
CDHtmlDialog::GetHostInfo
호스트의 UI 기능을 검색합니다.
STDMETHOD(GetHostInfo)(DOCHOSTUIINFO* pInfo);
매개 변수
pInfo
Windows SDK에서 IDocHostUIHandler::GetHostInfo
참조 pInfo
하세요.
Return Value
S_OK
을(를) 반환합니다.
설명
이 멤버 함수는 CDHtmlDialog
Windows SDK에 설명된 대로 구현 IDocHostUIHandler::GetHostInfo
입니다.
CDHtmlDialog::GetOptionKeyPath
사용자 기본 설정이 저장되는 레지스트리 키를 검색합니다.
STDMETHOD(GetOptionKeyPath)(
LPOLESTR* pchKey,
DWORD dw);
매개 변수
pchKey
Windows SDK에서 IDocHostUIHandler::GetOptionKeyPath
참조 pchKey
하세요.
dw
Windows SDK에서 IDocHostUIHandler::GetOptionKeyPath
참조 dw
하세요.
Return Value
E_NOTIMPL
을(를) 반환합니다.
설명
이 멤버 함수는 CDHtmlDialog
Windows SDK에 설명된 대로 구현 IDocHostUIHandler::GetOptionKeyPath
입니다.
CDHtmlDialog::HideUI
호스트의 UI를 숨깁니다.
STDMETHOD(HideUI)(void);
Return Value
E_NOTIMPL
을(를) 반환합니다.
설명
이 멤버 함수는 CDHtmlDialog
Windows SDK에 설명된 대로 구현 IDocHostUIHandler::HideUI
입니다.
CDHtmlDialog::IsExternalDispatchSafe
호스트의 IDispatch
인터페이스가 스크립팅에 안전한지 여부를 나타냅니다.
virtual BOOL IsExternalDispatchSafe();
Return Value
FALSE
을(를) 반환합니다.
CDHtmlDialog::LoadFromResource
지정된 리소스를 DHTML 대화 상자의 WebBrowser 컨트롤에 로드합니다.
BOOL LoadFromResource(LPCTSTR lpszResource);
BOOL LoadFromResource(UINT nRes);
매개 변수
lpszResource
로드할 리소스의 이름을 포함하는 문자열에 대한 포인터입니다.
nRes
로드할 리소스의 ID입니다.
Return Value
성공하면 TRUE
이고, 그렇지 않으면 FALSE
입니다.
CDHtmlDialog::m_bUseHtmlTitle
HTML 문서의 제목을 대화 상자 캡션으로 사용할지 여부를 나타냅니다.
BOOL m_bUseHtmlTitle;
설명
이 TRUE
경우 m_bUseHtmlTitle
대화 상자 캡션은 HTML 문서의 제목과 동일하게 설정되고, 그렇지 않으면 대화 상자 리소스의 캡션이 사용됩니다.
CDHtmlDialog::m_nHtmlResID
표시할 HTML 리소스의 리소스 ID입니다.
UINT m_nHtmlResID;
예시
CDHtmlDialog mydialog(IDD_MYDHTMLDLG);
mydialog.m_nHtmlResID = IDR_HTML_MYDHTMLDLG;
mydialog.DoModal();
CDHtmlDialog::m_pBrowserApp
웹 브라우저 애플리케이션에 대한 포인터입니다.
CComPtr <IWebBrowser2> m_pBrowserApp;
CDHtmlDialog::m_spHtmlDoc
HTML 문서에 대한 포인터입니다.
CComPtr<IHTMLDocument2> m_spHtmlDoc;
CDHtmlDialog::m_strCurrentUrl
현재 URL입니다.
CString m_strCurrentUrl;
CDHtmlDialog::m_szHtmlResID
HTML 리소스 ID의 문자열 버전입니다.
LPTSTR m_szHtmlResID;
예시
CDHtmlDialog mydialog(IDD_MYDHTMLDLG);
TCHAR szResID[] = _T("HTML_PAGE");
mydialog.m_szHtmlResID = szResID;
mydialog.DoModal();
CDHtmlDialog::Navigate
로 지정된 URL로 식별되는 리소스로 lpszURL
이동합니다.
void Navigate(
LPCTSTR lpszURL,
DWORD dwFlags = 0,
LPCTSTR lpszTargetFrameName = NULL,
LPCTSTR lpszHeaders = NULL,
LPVOID lpvPostData = NULL,
DWORD dwPostDataLen = 0);
매개 변수
lpszURL
대상으로 지정할 URL을 포함하는 문자열에 대한 포인터입니다.
dwFlags
기록 목록에 리소스를 추가할지 여부, 캐시에 읽거나 캐시에서 쓸지 여부 및 새 창에 리소스를 표시할지 여부를 지정하는 변수의 플래그입니다. 변수는 열거형에서 정의한 값의 조합일 BrowserNavConstants
수 있습니다.
lpszTargetFrameName
리소스를 표시할 프레임의 이름을 포함하는 문자열에 대한 포인터입니다.
lpszHeaders
서버로 보낼 HTTP 헤더를 지정하는 값에 대한 포인터입니다. 이러한 헤더는 기본 Internet Explorer 헤더에 추가됩니다. 헤더는 서버에 필요한 작업, 서버에 전달되는 데이터 형식 또는 상태 코드와 같은 정보를 지정할 수 있습니다. URL이 HTTP URL이 아닌 경우 이 매개 변수는 무시됩니다.
lpvPostData
HTTP POST 트랜잭션과 함께 보낼 데이터에 대한 포인터입니다. 예를 들어 POST 트랜잭션은 HTML 양식에서 수집한 데이터를 보내는 데 사용됩니다. 이 매개 변수가 사후 데이터를 Navigate
지정하지 않으면 HTTP GET 트랜잭션을 실행합니다. URL이 HTTP URL이 아닌 경우 이 매개 변수는 무시됩니다.
dwPostDataLen
HTTP POST 트랜잭션을 사용하여 보낼 데이터입니다. 예를 들어 POST 트랜잭션은 HTML 양식에서 수집한 데이터를 보내는 데 사용됩니다. 이 매개 변수가 사후 데이터를 Navigate
지정하지 않으면 HTTP GET 트랜잭션을 실행합니다. URL이 HTTP URL이 아닌 경우 이 매개 변수는 무시됩니다.
CDHtmlDialog::OnBeforeNavigate
탐색이 발생하기 전에 이벤트가 발생하도록 프레임워크에서 호출됩니다.
virtual void OnBeforeNavigate(
LPDISPATCH pDisp,
LPCTSTR szUrl);
매개 변수
pDisp
IDispatch
개체에 대한 포인터입니다.
szUrl
탐색할 URL이 포함된 문자열에 대한 포인터입니다.
CDHtmlDialog::OnDocumentComplete
문서가 상태를 달성했을 때 애플리케이션에 알리기 위해 프레임워크에서 READYSTATE_COMPLETE
호출됩니다.
virtual void OnDocumentComplete(
LPDISPATCH pDisp,
LPCTSTR szUrl);
매개 변수
pDisp
IDispatch
개체에 대한 포인터입니다.
szUrl
탐색된 URL이 포함된 문자열에 대한 포인터입니다.
CDHtmlDialog::OnDocWindowActivate
문서 창이 활성화되거나 비활성화될 때 프레임워크에서 호출됩니다.
STDMETHOD(OnDocWindowActivate)(BOOL fActivate);
매개 변수
fActivate
Windows SDK에서 IDocHostUIHandler::OnDocWindowActivate
참조 fActivate
하세요.
Return Value
E_NOTIMPL
을(를) 반환합니다.
설명
이 멤버 함수는 CDHtmlDialog
Windows SDK에 설명된 대로 구현 IDocHostUIHandler::OnDocWindowActivate
입니다.
CDHtmlDialog::OnFrameWindowActivate
프레임 창이 활성화되거나 비활성화될 때 프레임워크에서 호출됩니다.
STDMETHOD(OnFrameWindowActivate)(BOOL fActivate);
매개 변수
fActivate
Windows SDK에서 IDocHostUIHandler::OnFrameWindowActivate
참조 fActivate
하세요.
Return Value
E_NOTIMPL
을(를) 반환합니다.
설명
이 멤버 함수는 CDHtmlDialog
Windows SDK에 설명된 대로 구현 IDocHostUIHandler::OnFrameWindowActivate
입니다.
CDHtmlDialog::OnInitDialog
메시지에 대한 응답으로 호출되었습니다 WM_INITDIALOG
.
virtual BOOL OnInitDialog();
Return Value
기본 구현은 TRUE
를 반환합니다.
설명
이 메시지는 대화 상자가 표시되기 직전에 발생하는 , CreateIndirect
또는 DoModal
호출 중에 Create
대화 상자로 전송됩니다.
대화 상자가 초기화될 때 특수 처리를 수행해야 하는 경우 이 멤버 함수를 재정의합니다. 재정의된 버전에서 먼저 기본 클래스 OnInitDialog
를 호출하지만 반환 값을 무시합니다. 일반적으로 재정의된 멤버 함수에서 반환 TRUE
됩니다.
Windows는 OnInitDialog
메시지 맵이 아닌 모든 Microsoft Foundation 클래스 라이브러리 대화 상자에 공통된 표준 전역 대화 상자 프로시저를 통해 함수를 호출하므로 이 멤버 함수에 대한 메시지 맵 항목이 필요하지 않습니다.
CDHtmlDialog::OnNavigateComplete
지정된 URL에 대한 탐색이 완료된 후 프레임워크에서 호출됩니다.
virtual void OnNavigateComplete(
LPDISPATCH pDisp,
LPCTSTR szUrl);
매개 변수
pDisp
IDispatch
개체에 대한 포인터입니다.
szUrl
탐색된 URL이 포함된 문자열에 대한 포인터입니다.
CDHtmlDialog::ResizeBorder
개체에 테두리 공간의 크기를 조정해야 한다고 경고합니다.
STDMETHOD(ResizeBorder)(
LPCRECT prcBorder,
IOleInPlaceUIWindow* pUIWindow,
BOOL fRameWindow);
매개 변수
prcBorder
Windows SDK에서 IDocHostUIHandler::ResizeBorder
참조 prcBorder
하세요.
pUIWindow
Windows SDK에서 IDocHostUIHandler::ResizeBorder
참조 pUIWindow
하세요.
fFrameWindow
Windows SDK에서 IDocHostUIHandler::ResizeBorder
참조 fFrameWindow
하세요.
Return Value
E_NOTIMPL을 반환합니다.
CDHtmlDialog::SetControlProperty
ActiveX 컨트롤의 속성을 새 값으로 설정합니다.
void SetControlProperty(
LPCTSTR szElementId,
DISPID dispId,
VARIANT* pVar);
void SetControlProperty(
IDispatch* pdispControl,
DISPID dispId,
VARIANT* pVar);
void SetControlProperty(
LPCTSTR szElementId,
LPCTSTR szPropName,
VARIANT* pVar);
매개 변수
szElementId
ActiveX 컨트롤의 HTML ID입니다.
dispId
설정할 속성의 디스패치 ID입니다.
pVar
VARIANT
새 속성 값을 포함하는 포인터입니다.
pdispControl
ActiveX 컨트롤의 인터페이스에 대한 포인터입니다 IDispatch
.
szPropName
설정할 속성의 이름을 포함하는 문자열입니다.
CDHtmlDialog::SetElementHtml
HTML 요소의 innerHTML
속성을 설정합니다.
void SetElementHtml(
LPCTSTR szElementId,
BSTR bstrText);
void SetElementHtml(
IUnknown* punkElem,
BSTR bstrText);
매개 변수
szElementId
HTML 요소의 ID입니다.
bstrText
innerHTML
속성의 새 값입니다.
punkElem
IUnknown
HTML 요소의 포인터입니다.
CDHtmlDialog::SetElementProperty
HTML 요소의 속성을 설정합니다.
void SetElementProperty(
LPCTSTR szElementId,
DISPID dispId,
VARIANT* pVar);
매개 변수
szElementId
HTML 요소의 ID입니다.
dispId
설정할 속성의 디스패치 ID입니다.
pVar
속성의 새 값입니다.
CDHtmlDialog::SetElementText
HTML 요소의 innerText
속성을 설정합니다.
void SetElementText(
LPCTSTR szElementId,
BSTR bstrText);
void SetElementText(
IUnknown* punkElem,
BSTR bstrText);
매개 변수
szElementId
HTML 요소의 ID입니다.
bstrText
innerText
속성의 새 값입니다.
punkElem
IUnknown
HTML 요소의 포인터입니다.
CDHtmlDialog::SetExternalDispatch
호스트의 인터페이스를 IDispatch
설정합니다.
void SetExternalDispatch(IDispatch* pdispExternal);
매개 변수
pdispExternal
새 IDispatch
인터페이스입니다.
CDHtmlDialog::SetHostFlags
호스트 UI 플래그를 설정합니다.
void SetHostFlags(DWORD dwFlags);
매개 변수
dwFlags
가능한 값은 Windows SDK를 참조 DOCHOSTUIFLAG
하세요.
CDHtmlDialog::ShowContextMenu
상황에 맞는 메뉴가 표시될 때 호출됩니다.
STDMETHOD(ShowContextMenu)(
DWORD dwID,
POINT* ppt,
IUnknown* pcmdtReserved,
IDispatch* pdispReserved);
매개 변수
dwID
Windows SDK에서 IDocHostUIHandler::ShowContextMenu
참조 dwID
하세요.
ppt
Windows SDK에서 IDocHostUIHandler::ShowContextMenu
참조 ppt
하세요.
pcmdtReserved
Windows SDK에서 IDocHostUIHandler::ShowContextMenu
참조 pcmdtReserved
하세요.
pdispReserved
Windows SDK에서 IDocHostUIHandler::ShowContextMenu
참조 pdispReserved
하세요.
Return Value
S_FALSE
을(를) 반환합니다.
설명
이 멤버 함수는 CDHtmlDialog
Windows SDK에 설명된 대로 구현 IDocHostUIHandler::ShowContextMenu
입니다.
CDHtmlDialog::ShowUI
호스트의 UI를 표시합니다.
STDMETHOD(ShowUI)(
DWORD dwID,
IOleInPlaceActiveObject* pActiveObject,
IOleCommandTarget* pCommandTarget,
IOleInPlaceFrame* pFrame,
IOleInPlaceUIWindow* pDoc);
매개 변수
dwID
Windows SDK에서 IDocHostUIHandler::ShowUI
참조 dwID
하세요.
pActiveObject
Windows SDK에서 IDocHostUIHandler::ShowUI
참조 pActiveObject
하세요.
pCommandTarget
Windows SDK에서 IDocHostUIHandler::ShowUI
참조 pCommandTarget
하세요.
pFrame
Windows SDK에서 IDocHostUIHandler::ShowUI
참조 pFrame
하세요.
pDoc
Windows SDK에서 IDocHostUIHandler::ShowUI
참조 pDoc
하세요.
Return Value
S_FALSE
을(를) 반환합니다.
설명
이 멤버 함수는 CDHtmlDialog
Windows SDK에 설명된 대로 구현 IDocHostUIHandler::ShowUI
입니다.
CDHtmlDialog::TranslateAccelerator
메뉴 가속기 키 메시지를 처리하기 위해 호출됩니다.
STDMETHOD(TranslateAccelerator)(
LPMSG lpMsg,
const GUID* pguidCmdGroup,
DWORD nCmdID);
매개 변수
lpMsg
Windows SDK에서 IDocHostUIHandler::TranslateAccelerator
참조 lpMsg
하세요.
pguidCmdGroup
Windows SDK에서 IDocHostUIHandler::TranslateAccelerator
참조 pguidCmdGroup
하세요.
nCmdID
Windows SDK에서 IDocHostUIHandler::TranslateAccelerator
참조 nCmdID
하세요.
Return Value
S_FALSE
을(를) 반환합니다.
설명
이 멤버 함수는 CDHtmlDialog
Windows SDK에 설명된 대로 구현 IDocHostUIHandler::TranslateAccelerator
입니다.
CDHtmlDialog::TranslateUrl
로드할 URL을 수정하기 위해 호출됩니다.
STDMETHOD(TranslateUrl)(
DWORD dwTranslate,
OLECHAR* pchURLIn,
OLECHAR** ppchURLOut);
매개 변수
dwTranslate
Windows SDK에서 IDocHostUIHandler::TranslateUrl
참조 dwTranslate
하세요.
pchURLIn
Windows SDK에서 IDocHostUIHandler::TranslateUrl
참조 pchURLIn
하세요.
ppchURLOut
Windows SDK에서 IDocHostUIHandler::TranslateUrl
참조 ppchURLOut
하세요.
Return Value
S_FALSE
을(를) 반환합니다.
설명
이 멤버 함수는 CDHtmlDialog
Windows SDK에 설명된 대로 구현 IDocHostUIHandler::TranslateUrl
입니다.
CDHtmlDialog::UpdateUI
호스트에 명령 상태가 변경되었음을 알리기 위해 호출되었습니다.
STDMETHOD(UpdateUI)(void);
Return Value
E_NOTIMPL
을(를) 반환합니다.
설명
이 멤버 함수는 CDHtmlDialog
Windows SDK에 설명된 대로 구현 IDocHostUIHandler::UpdateUI
입니다.