2009-05-21 7 views
0

캔버스 A와 B가 두 개 있습니다. A는 B의 자식입니다. A는 기본 UI 구성 요소를 추가하는 것과 같은 일부 사용자 작업으로 크기를 조정할 수 있습니다. A는 자식 A가 너무 커지면 스콜 링 핸들을 표시해야하는 다른 부모 캔버스 B에 의해 묶입니다.Canvas에서 크기를 조정하면 이러한 코드를 어디에 배치 할 수 있습니까? (내부 다이어그램)

I는 산출 된 넓이와 높이보다 얻을 크게의 w 경우

B.

보다 작거나 시간 동안 동일한 폭 B (또는 실제로 근접)의 높이를 가지도록 부탁 B의 경우 A가 커지고 B는 스크롤을 표시합니다. 나는 분명히 친절하길 바란다.

내 질문은 어디에서 어떻게 그런 논리를 할 수 있습니까?

canvas diagram http://www.picimg.com/uploads/18cd2277adde7d50da2bc708075f4fac.png

답변

1

Canvas가 상속하는 UIComponent 클래스에는 minHeight 및 minWidth 속성이 있습니다. A의 minHeight/Width를 B의 너비와 높이에 바인딩 할 수 있으므로 B 크기가 조정될 때마다 A의 최소 크기도 변경됩니다. 표현식에 바인딩하는 것도 지원됩니다 (아래 예 참조). B는 A가 한꺼번에 표시 될 정도로 커지면 자동으로 스크롤 막대를 표시합니다. 고정 된 높이와 너비 (또는 다른 크기 제한)를 제공하면됩니다. 또한 A를 추가하면 자동으로 크기가 조정됩니다.

<mx:Canvas id="B" width="..." height="..."> 
    <mx:Canvas id="A" minHeight="{B.height-20}" minWidth="{B.width-20}"> 
     <!-- your content widgets --> 
    </mx:Canvas> 
</mx:Canvas> 
0

는 당신이 필요로 자동으로 B의 스크롤 정책을 설정하는 것입니다. 이렇게하면 A가 너무 크면 B에 스크롤 막대가 생깁니다. 이 작업은 MXML에서 수행해야합니다.

<mx:Canvas name="B" width=100 height=100 scrollPolicy="auto"> 
    <mx:Canvas name="A" width=90 height=90> 
     ... 
    </mx:Canvas> 
</mx:Canvas> 
+0

스크롤 정책의 기본값은 auto입니다. –