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