컨트롤이 모든 앰비언트 속성을 지원하는 경우 적어도 표준 dispids를 사용하여 다음 표에 명시된 조건 하에서 다음 앰비언트 속성의 값을 준수해야 합니다.
| 앰비언트 속성 | Dispid | 주석/사용 조건 |
|---|---|---|
| LocaleID |
-705 |
로캘이 컨트롤에 중요한 경우(예: 텍스트 출력의 경우) |
| UserMode |
-709 |
컨트롤이 사용자(디자인) 모드 및 실행 모드에서 다르게 동작하는 경우 |
| UIDead |
-710 |
컨트롤이 UI 이벤트에 반응하는 경우 이 앰비언트 속성을 적용해야 합니다. |
| ShowGrabHandles |
-711 |
컨트롤이 자체의 현재 위치 크기 조정을 지원하는 경우 |
| ShowHatching |
-712 |
컨트롤이 현재 위치 활성화 및 UI 활성화를 지원하는 경우 |
| DisplayAsDefault |
-713 |
컨트롤이 OLEMISC_ACTSLIKEBUTTON 표시된 경우에만(즉, 키보드 니모닉에 대한 지원이 제공되므로 IOleControl::GetControlInfoIOleControl::OnMnemonic구현해야). |
앞에서 설명한 대로 앰비언트를 사용하려면 IOleControl(최소 OnAmbientPropertyChange)뿐만 아니라 IOleObject(SetClientSite 및 GetClientSite)가 모두 필요합니다.
OLEMISC_SETCLIENTSITEFIRST 비트는 반드시 컨테이너에서 지원되지 않을 수 있습니다. 이러한 경우 컨트롤은 필요한 앰비언트 속성의 기본값에 의존해야 합니다.