다음을 통해 공유


컨트롤 속성

컨트롤 자체에서 정의하고 구현하는 속성 외에도 ActiveX 컨트롤 기술에는 다음이 포함됩니다.

앰비언트 속성

이러한 값은 컨테이너에 포함된 모든 컨트롤에 적용되는 환경 값을 제공하기 위해 제어 클라이언트 사이트를 통해 컨테이너에 의해 노출됩니다. 예를 들어 컨테이너는 컨트롤에서 사용할 수 있는 기본 배경색 또는 기본 글꼴을 제공할 수 있습니다. 앰비언트 속성은 컨테이너의 사이트 개체에 구현된 IDispatch 를 통해 노출됩니다. 컨테이너는 앰비언트 속성 값이 변경되면 컨트롤의 IOleControl::OnAmbientPropertyChange 메서드를 호출합니다. 이에 대한 응답으로 컨트롤은 자체 내부 또는 시각적 상태를 업데이트해야 할 수 있습니다. 컨테이너는 DISPID 매개 변수로 변경된 앰비언트 속성을 나타내거나 여러 앰비언트 속성이 변경되었음을 나타내기 위해 DISPID_UNKNOWN 전달할 수 있습니다.

확장 속성

이러한 속성은 실제로 컨테이너에 의해 구현되어 포함된 컨트롤을 래핑하여 네이티브 컨트롤 속성인 것처럼 표시되는 컨테이너 관리 속성을 제공합니다. 컨테이너는 컨트롤을 집계하여 확장 속성을 추가하여 컨트롤의 속성을 보완하거나 재정의할 수 있습니다. 집계된 개체를 확장 컨트롤이라고 합니다. 컨테이너에 확장된 컨트롤이 컨트롤 자체로 나타나고 확장 속성이 컨트롤에 의해 노출되는 것처럼 보입니다. 컨테이너는 클라이언트 사이트 메서드 IOleControlSite::GetExtendedControl을 통해 확장된 컨트롤을 지원합니다. GetExtendedControl 메서드를 사용하면 컨테이너가 이 기능을 지원하는 경우 컨트롤이 사이트를 탐색하여 컨테이너에서 제공하는 확장된 컨트롤 개체로 이동할 수 있습니다. 컨테이너는 ISpecifyPropertyPages를 통해 컨트롤이 일반적으로 지정하는 페이지 외에도 확장된 컨트롤에 대한 속성 페이지를 표시하도록 선택할 수도 있습니다. 이 때문에 컨트롤은 컨트롤이 자체 작업을 시도하기 전에 컨테이너에 속성 프레임을 표시하도록 요청해야 합니다. 컨트롤은 IOleControlSite::ShowPropertyFrame 을 호출하여 이 작업을 수행합니다. 컨테이너가 이 함수를 구현하면 속성 프레임 자체가 표시됩니다. 메서드가 오류를 반환하면 컨트롤이 속성 프레임을 표시할 수 있습니다.

자세한 내용은 아래 항목을 참조하세요.

컨트롤 메서드