다음을 통해 공유


CComCompositeControl 클래스

이 클래스는 복합 컨트롤을 구현 하는 데 필요한 메서드를 제공 합니다.

중요중요

런타임에서 Windows를 실행 하는 응용 프로그램에서이 클래스와 해당 멤버를 사용할 수 없습니다.

template <
class T 
>
class CComCompositeControl :
public CComControl< T, CAxDialogImpl< T > >

매개 변수

Members

z3e7bbb1.collapse_all(ko-kr,VS.110).gifPublic 생성자

이름

설명

CComCompositeControl::CComCompositeControl

생성자입니다.

CComCompositeControl:: ~ CComCompositeControl

소멸자

z3e7bbb1.collapse_all(ko-kr,VS.110).gifPublic 메서드

이름

설명

CComCompositeControl::AdviseSinkMap

조언 또는 바이 복합 컨트롤에 의해 호스팅되는 모든 컨트롤에이 메서드를 호출 합니다.

CComCompositeControl::CalcExtent

크기를 계산 하려면이 메서드를 호출 HIMETRIC 복합 컨트롤을 호스팅하는 데 사용 된 대화 상자 리소스의 단위입니다.

CComCompositeControl::Create

합성 컨트롤의 컨트롤 창을 만들려면이 메서드가 호출 됩니다.

CComCompositeControl::CreateControlWindow

제어 창을 만들고 알리기 호스팅된 컨트롤에이 메서드를 호출 합니다.

CComCompositeControl::SetBackgroundColorFromAmbient

컨테이너의 배경색을 사용 하 여 합성 컨트롤의 배경색을 설정 하려면이 메서드를 호출 합니다.

z3e7bbb1.collapse_all(ko-kr,VS.110).gif공용 데이터 멤버

이름

설명

CComCompositeControl::m_hbrBackground

배경 브러시입니다.

CComCompositeControl::m_hWndFocus

현재 포커스가 있는 창의 핸들입니다.

설명

파생 클래스에서 CComCompositeControl ActiveX 합성 컨트롤의 기능을 상속 합니다.ActiveX 컨트롤에서 파생 된 CComCompositeControl 표준 대화 상자에 호스팅됩니다.(네이티브 Windows 컨트롤 및 ActiveX 컨트롤) 다른 컨트롤을 호스팅할 수 있기 때문에 이러한 종류의 컨트롤 합성 컨트롤 이라고 합니다.

CComCompositeControl합성 컨트롤은 자식 클래스에 열거형된 데이터 멤버에 대 한 보고 만드는 데 사용할 대화 상자 리소스를 식별 합니다.IDD이 자식 클래스의 멤버가 컨트롤의 창으로 사용 되는 대화 상자 리소스의 리소스 ID로 설정 됩니다.다음 클래스에서 파생 된 데이터 멤버의 예로 CComCompositeControl 컨트롤의 창에 사용할 대화 상자 리소스를 식별할 수 있어야 합니다.

enum { IDD = IDD_MYCOMPOSITE };

[!참고]

창 없는 컨트롤을 포함할 수는 있지만 합성 컨트롤에서 항상 창 컨트롤입니다.

컨트롤에 의해 구현 된 CComCompositeControl-파생된 클래스에 기본 내장 된 동작 탭 이동 합니다.포함 하는 응용 프로그램에서 탭 하 여 컨트롤이 포커스를 받을 때 TAB 키를 누르면 연속적으로 모든 합성 컨트롤의 포함 된 컨트롤을 합성 컨트롤에서 다음 및 컨테이너의 탭 순서에서 다음 항목에 순환할 수 나가게 됩니다.호스팅된 컨트롤의 탭 순서 대화 상자 리소스에 의해 결정 되며 순서 결정 어떤 탭에서 발생 합니다.

[!참고]

올바로 작동 하려면 액셀러레이터 키를는 CComCompositeControl, 컨트롤을 만들 때 액셀러레이터 키 테이블을 로드, 핸들과 액셀러레이터 키로 다시 개수를 전달 하는 데 필요한 됩니다 IOleControlImpl::GetControlInfo, 마지막으로 컨트롤을 놓을 때 테이블을 삭제 하.

예제

// Example for overriding IOleControlImpl::GetControlInfo()
// This example uses the accelerator table from the project resources
// with the identifier IDR_ACCELTABLE
// Define GetControlInfo() in the header of your composite 
// control class as follows:

STDMETHOD(GetControlInfo)(CONTROLINFO* pCI)
{
    // Load the accelerator table from the resource
    pCI->hAccel = LoadAccelerators(_AtlBaseModule.GetResourceInstance(), 
       MAKEINTRESOURCE(IDR_ACCELTABLE));

    if (pCI->hAccel == NULL)
        return E_FAIL;

    // Get the number of accelerators in the table
    pCI->cAccel = (USHORT)CopyAcceleratorTable(pCI->hAccel, NULL, 0);
    // The following is optional if you want your control
    // to process the return and/or escape keys
    // pCI.dwFlags = CTRLINFO_EATS_RETURN | CTRLINFO_EATS_ESCAPE;
    pCI->dwFlags = 0;

    return S_OK;
}

상속 계층 구조

WinBase

CComControlBase

CComControl

CComCompositeControl

요구 사항

헤더: atlctl.h

참고 항목

참조

CComControl 클래스

개념

합성 컨트롤 기초

기타 리소스

ATL 클래스 개요