다음을 통해 공유


CAxWindow 클래스

이 클래스는 ActiveX 컨트롤을 호스팅하는 창을 조작하는 메서드를 제공합니다.

Important

이 클래스와 해당 멤버는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다.

구문

class CAxWindow : public CWindow

멤버

메서드

함수 설명
AttachControl 개체에 기존 ActiveX 컨트롤을 CAxWindow 연결합니다.
CAxWindow CAxWindow 개체를 생성합니다.
CreateControl ActiveX 컨트롤을 만들고, 초기화하고, 창에서 CAxWindow 호스트합니다.
CreateControlEx ActiveX 컨트롤을 만들고 컨트롤에서 인터페이스 포인터(또는 포인터)를 검색합니다.
GetWndClassName (정적) 개체의 미리 정의된 클래스 이름을 검색합니다 CAxWindow .
QueryControl 호스트된 IUnknown ActiveX 컨트롤을 검색합니다.
QueryHost 개체의 IUnknown 포인터를 검색합니다 CAxWindow .
SetExternalDispatch 개체에서 사용하는 외부 디스패치 인터페이스를 CAxWindow 설정합니다.
SetExternalUIHandler 개체에서 사용하는 외부 IDocHostUIHandler 인터페이스를 CAxWindow 설정합니다.

연산자

연산자 설명
연산자 = 기존 CAxWindow 개체에 HWND를 할당합니다.

설명

이 클래스는 ActiveX 컨트롤을 호스트하는 창을 조작하는 메서드를 제공합니다. 호스팅은 " AtlAxWin80"에서 제공하며, 이 호스트는 로 래핑됩니다 CAxWindow.

클래스는 클래스 CAxWindow 의 특수화로 구현됩니다 CAxWindowT . 이 특수화는 다음과 같이 선언됩니다.

typedef CAxWindowT<CWindow> CAxWindow;

기본 클래스를 변경해야 하는 경우 새 기본 클래스를 템플릿 인수로 사용하고 CAxWindowT 지정할 수 있습니다.

요구 사항

헤더: atlwin.h

CAxWindow::AttachControl

새 호스트 개체가 없는 경우 새 호스트 개체를 만들고 지정된 컨트롤을 호스트에 연결합니다.

HRESULT AttachControl(
    IUnknown* pControl,
    IUnknown** ppUnkContainer);

매개 변수

pControl
[in] 컨트롤의 IUnknown 포인터입니다.

ppUnkContainer
[out] 호스트(개체)에 대한 AxWin 포인터 IUnknown 입니다.

Return Value

표준 HRESULT 값입니다.

설명

연결 중인 컨트롤 개체를 호출 AttachControl하기 전에 올바르게 초기화해야 합니다.

CAxWindow::CAxWindow

CAxWindow 기존 창 개체 핸들을 사용하여 개체를 생성합니다.

CAxWindow(HWND hWnd = NULL);

매개 변수

hWnd
기존 창 개체에 대한 핸들입니다.

CAxWindow::CreateControl

ActiveX 컨트롤을 만들고 초기화하며 지정한 창에 호스팅합니다.

HRESULT CreateControl(
    LPCOLESTR lpszName,
    IStream* pStream = NULL,
    IUnknown** ppUnkContainer = NULL);

HRESULT CreateControl(
    DWORD dwResID,
    IStream* pStream = NULL,
    IUnknown** ppUnkContainer = NULL);

매개 변수

lpszName
컨트롤을 만들 문자열에 대한 포인터입니다. 다음 방법 중 하나로 서식을 지정해야 합니다.

  • ProgID "MSCAL.Calendar.7"

  • 다음과 같은 CLSID "{8E27C92B-1264-101C-8A2F-040224009C02}"

  • URL(예: )< "<https://www.microsoft.com>"

  • 활성 문서에 대한 참조(예: ) "file://\\\Documents\MyDoc.doc"

  • 와 같은 HTML의 조각 "MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"

    참고 항목

    "MSHTML:" 는 MSHTML 스트림으로 지정되도록 HTML 조각 앞에 와야 합니다. Windows Mobile 플랫폼에서는 ProgID 및 CLSID만 지원됩니다. CE IE를 지원하는 Windows Mobile 이외의 Windows CE 포함 플랫폼은 ProgID, CLSID, URL, 활성 문서에 대한 참조 및 HTML 조각을 비롯한 모든 형식을 지원합니다.

pStream
[in] 컨트롤의 속성을 초기화하는 데 사용되는 스트림에 대한 포인터입니다. NULL일 수 있습니다.

ppUnkContainer
[out] 컨테이너를 받을 IUnknown 포인터의 주소입니다. NULL일 수 있습니다.

dwResID
HTML 리소스의 리소스 ID입니다. WebBrowser 컨트롤이 만들어지고 지정된 리소스와 함께 로드됩니다.

Return Value

표준 HRESULT 값입니다.

설명

이 메서드의 두 번째 버전을 사용하는 경우 HTML 컨트롤이 만들어지고 dwResID로 식별되는 리소스에 바인딩됩니다.

이 메서드는 호출과 동일한 결과를 제공합니다.

AtlAxCreateControlEx(lpszName, hWnd, pStream, NULL, NULL, GUID_NULL, NULL);

라이선스가 부여된 ActiveX 컨트롤을 만들고, 초기화하고, 호스트하려면 CAxWindow2T::CreateControlLic을 참조하세요.

예시

사용하는 CreateControl샘플은 ATL AXHost를 사용하여 ActiveX 컨트롤 호스팅을 참조하세요.

CAxWindow::CreateControlEx

ActiveX 컨트롤을 만들고 초기화하며 지정한 창에 호스팅합니다.

HRESULT CreateControlEx(
    LPCOLESTR lpszName,
    IStream* pStream = NULL,
    IUnknown** ppUnkContainer = NULL,
    IUnknown** ppUnkControl = NULL,
    REFIID iidSink = IID_NULL,
    IUnknown* punkSink = NULL);

HRESULT CreateControlEx(
    DWORD dwResID,
    IStream* pStream = NULL,
    IUnknown** ppUnkContainer = NULL,
    IUnknown** ppUnkControl = NULL,
    REFIID iidSink = IID_NULL,
    IUnknown* punkSink = NULL);

매개 변수

lpszName
컨트롤을 만들 문자열에 대한 포인터입니다. 다음 방법 중 하나로 서식을 지정해야 합니다.

  • ProgID "MSCAL.Calendar.7"

  • 다음과 같은 CLSID "{8E27C92B-1264-101C-8A2F-040224009C02}"

  • URL(예: )< "<https://www.microsoft.com>"

  • 활성 문서에 대한 참조(예: ) "file://\\\Documents\MyDoc.doc"

  • 와 같은 HTML의 조각 "MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"

    참고 항목

    "MSHTML:" 는 MSHTML 스트림으로 지정되도록 HTML 조각 앞에 와야 합니다. Windows Mobile 플랫폼에서는 ProgID 및 CLSID만 지원됩니다. CE IE를 지원하는 Windows Mobile 이외의 Windows CE 포함 플랫폼은 ProgID, CLSID, URL, 활성 문서에 대한 참조 및 HTML 조각을 비롯한 모든 형식을 지원합니다.

pStream
[in] 컨트롤의 속성을 초기화하는 데 사용되는 스트림에 대한 포인터입니다. NULL일 수 있습니다.

ppUnkContainer
[out] 컨테이너를 받을 IUnknown 포인터의 주소입니다. NULL일 수 있습니다.

ppUnkControl
[out] 컨트롤을 받을 포인터의 IUnknown 주소입니다. NULL일 수 있습니다.

iidSink
[in] 포함된 개체에서 나가는 인터페이스의 인터페이스 식별자입니다. IID_NULL 수 있습니다.

punkSink
[in] iidSink에서 IUnknown 지정한 포함된 개체의 연결점에 연결할 싱크 개체의 인터페이스에 대한 포인터입니다.

dwResID
[in] HTML 리소스의 리소스 ID입니다. WebBrowser 컨트롤이 만들어지고 지정된 리소스와 함께 로드됩니다.

Return Value

표준 HRESULT 값입니다.

설명

이 메서드는 CAxWindow::CreateControl과 유사하지만 이 메서드 CreateControlEx 와 달리 새로 만든 컨트롤에 대한 인터페이스 포인터를 수신하고 컨트롤에서 발생한 이벤트를 수신하도록 이벤트 싱크를 설정할 수도 있습니다.

라이선스가 있는 ActiveX 컨트롤을 만들고, 초기화하고, 호스트하려면 CAxWindow2T::CreateControlLicEx를 참조하세요.

예시

사용하는 CreateControlEx샘플은 ATL AXHost를 사용하여 ActiveX 컨트롤 호스팅을 참조하세요.

CAxWindow::GetWndClassName

창 클래스의 이름을 검색합니다.

static LPCTSTR GetWndClassName();

Return Value

허가되지 않은 ActiveX 컨트롤을 호스트할 수 있는 창 클래스의 이름을 포함하는 문자열에 대한 포인터입니다.

CAxWindow::operator =

기존 CAxWindow 개체에 HWND를 할당합니다.

CAxWindow<TBase>& operator=(HWND hWnd);

매개 변수

hWnd
기존 창에 대한 핸들입니다.

Return Value

현재 CAxWindow 개체에 대한 참조를 반환합니다.

CAxWindow::QueryControl

호스트된 컨트롤의 지정된 인터페이스를 검색합니다.

HRESULT QueryControl(REFIID iid, void** ppUnk);
template <class  Q>
HRESULT QueryControl(Q** ppUnk);

매개 변수

iid
[in] 컨트롤 인터페이스의 IID를 지정합니다.

ppUnk
[out] 컨트롤의 인터페이스에 대한 포인터입니다. 이 메서드의 템플릿 버전에서는 연결된 UUID가 있는 형식화된 인터페이스가 전달되는 한 참조 ID가 필요하지 않습니다.

Q
[in] 쿼리할 인터페이스입니다.

Return Value

표준 HRESULT 값입니다.

CAxWindow::QueryHost

호스트의 지정된 인터페이스를 반환합니다.

HRESULT QueryHost(REFIID iid, void** ppUnk);
template <class  Q>
HRESULT QueryHost(Q** ppUnk);

매개 변수

iid
[in] 컨트롤 인터페이스의 IID를 지정합니다.

ppUnk
[out] 호스트의 인터페이스에 대한 포인터입니다. 이 메서드의 템플릿 버전에서는 연결된 UUID가 있는 형식화된 인터페이스가 전달되는 한 참조 ID가 필요하지 않습니다.

Q
[in] 쿼리할 인터페이스입니다.

Return Value

표준 HRESULT 값입니다.

설명

호스트의 인터페이스를 사용하면 창 호스팅 코드 AxWin의 기본 기능에 액세스할 수 있습니다.

CAxWindow::SetExternalDispatch

개체에 대한 외부 디스패치 인터페이스를 CAxWindow 설정합니다.

HRESULT SetExternalDispatch(IDispatch* pDisp);

매개 변수

pDisp
[in] 인터페이스에 대한 포인터입니다 IDispatch .

Return Value

표준 HRESULT 값입니다.

CAxWindow::SetExternalUIHandler

개체에 대한 외부 IDocHostUIHandlerDispatch 인터페이스를 CAxWindow 설정합니다.

HRESULT SetExternalUIHandler(IDocHostUIHandlerDispatch* pUIHandler);

매개 변수

pUIHandler
[in] 인터페이스에 대한 포인터입니다 IDocHostUIHandlerDispatch .

Return Value

표준 HRESULT 값입니다.

설명

외부 IDocHostUIHandlerDispatch 인터페이스는 호스트의 사이트에서 인터페이스를 쿼리하는 컨트롤에서 IDocHostUIHandlerDispatch 사용됩니다. WebBrowser 컨트롤은 이 작업을 수행하는 하나의 컨트롤입니다.

참고 항목

ATLCON 샘플
CWindow 클래스
복합 컨트롤 기본 사항
클래스 개요
컨트롤 포함 FAQ