XPLATFORM 101

- Form > sleep


앞에서 타이머 이야기할때 잠시 멈추는 기능이 없다고 했는데

아예 없는 건 아니군요.

하지만 특정 타이머를 멈출 수는 없고 전체 모든 기능을 멈추는 겁니다.


sleep 라는 메소드를 제공하고 지정된 ms 만큼 동작을 멈출 수 있습니다.


- sleep

일정 시간동안 멈추는 기능을 하는 메소드입니다.


* for 문이 실행되는 동안 밖에서 sleep 를 실행하게 되면 애매하게 동작을 하네요. ㅠㅠ

예제에서도 for 문에 대한 작업은 for 문 내에서 동작하게 구성되어 있습니다.


아래와 같이 updateWindow 메소드와 sleep 메소드를 사용하면

적절하게 화면이 동적으로 변경되는 것을 확인할 수 있습니다.

this.updateWindow();

sleep(500);

- updateWindow

화면을 바로 갱신해주는 메소드입니다.

전체 폼을 다시 갱신하는 것이기 때문에 아무래도 성능에 영향을 미칠 수 있겠네요.

http://cafe.naver.com/xplatform101/221 

XPLATFORM 101

- Form > 확대기능


setZoom 이라는 메소드가 제공되는 군요.

form 에서 해당 값을 지정하면 확대배율을 지정할 수 있습니다.

인자값은 숫자도 가능하고 문자열도 가능하네요.

독특하게 문자열에 "100%"와 같은 문자열을 넣어도 됩니다.


아쉽게도 해당 기능은 Form에서만 사용할 수 있어서

아래 그림과 같이 확대를 컨트롤하는 영역까지 같이 커져버리는 어려움이 있습니다.



Div 단위로 컨트롤을 하기 위해서는 Div 내에 폼을 가져가는 형식으로 구성해야 합니다.

http://cafe.naver.com/xplatform101/220 

XPLATFORM 101

- Form > Resize


anchor 속성에 대한 부분입니다.

해당 스펙은 9.2 에서 변경이 있을 예정이지만 기본적인 개념을 익히고 나면

이후 변경사항도 쉽게 이해하실 수 있을 겁니다.


도움말을 보면 anchor 이라는 것은

부모 컴포넌트의 크기에 따라 크기를 해당 컴포넌트의 크기를 자동으로 조절되게 할지 설정하는 속성입니다.

이 속성은 Form에서 제공하는 것이 아니라 

ActiveX,  Alert,  ApplicationMenu,  Button,  Calendar,  Chart,  ChartAxis,  ChartBoard,  ChartLegend,  ChartSeries,  ChartTitle,  CheckBox,  Combo,  Confirm,  Div,  Edit,  FileDownload,  FileUpload,  FlashPlayer,  GraphicPath,  Grid,  GroupBox,  ImageViewer,  ListBox,  MaskEdit,  MediaPlayer,  Menu,  Panel,  PanelItem,  PopupMenu,  ProgressBar,  Radio,  ScrollBar,  Shape,  Sign,  Spin,  Splitter,  Static,  Step,  Tab,  TextArea,  WebBrowser  등등의 속성으로 제공되는 겁니다.



위의 그림 오른쪽에 있는 그리드에 anchor 를 설정했을 경우 윈도우의 크기가 변하면

아래와 같이 표시가 됩니다.



현재의 구조는 데스크탑 환경에서 특정 영역은 고정시키고 (메뉴같은) 콘텐츠 영역만 처리하는 경우에는 유용할 수 있습니다.

하지만 다양한 스크린 환경에 대응하기에는 제약이 있습니다.

그래서 9.2 버전에서 MLM이 등장하고 anchor 기능이 확장된 것이죠.

해당 기능에 대해서는 다음 기회에 다시 설명하도록 하구요. ^^


anchor 에는 4가지 속성이 있습니다.

bottom, left, right, top 각 속성은 부모 컴포넌트와의 고정거리를 유지하게 합니다. 

좀 혼란스러울 수 있는 것이 default 속성인데 anchor를 사용하지 않는것으로

left, top 은 true, bottom 은 false 로 동작하게 됩니다.

지정된 위치에서 부모 컴포넌트의 크기가 변하더라도 움직이지 않습니다.


* 쇼케이스의 예제는 폼이 리사이즈되지 않도록 되어 있어 테스트를 해볼 수 없습니다.

해당 소스를 직접 UX 스튜디오에서 테스트해보면 됩니다.

http://cafe.naver.com/xplatform101/219