본문 바로가기

728x90

XPLATFORM

(28)
그림을 그려보자 - GraphicPath (중) 이번 시간에는 타원,호를 살펴보겠습니다. 사실 타원과 호라고 했지만 원을 그릴때도 마찬가지로 적용합니다. 엄격하게 말하면 원은 완전한 원은 아닙니다. 하지만 일반적인 모니터로 보았을때 거의 구분이 안되기 때문에 그냥 원이라고 합시다. ㅠㅠ 앞에서 살펴본 GraphicPath 의 속성은 사실 어디서 뚝 떨어진것은 아니고 SVG 스펙에 근거해서 만들어졌습니다. http://www.w3.org/TR/SVG/paths.html 내용을 보면 거의 유사하다고 보시면 됩니다. SVG 소스를 그대로 가져다 놓으면 동일하게 구현되지만 약간의 차이가 있긴 합니다. elliptical arc 는 A 로 구분하고 다음과 같은 속성을 가집니다. nRx nRy nAngle bLargearcflag bSweepflag nX nY ..
그림을 그려보자 - GraphicPath (상) 애플리케이션을 만들면서 그림을 그리는 일이 있을까 싶지만 일반 컴포넌트만으로 부족한 부분을 채워주기 위해 그래픽 처리를 지원해주는 컴포넌트가 있다는 것이 얼마나 고마운지 모릅니다. 그렇지 않다면 정말 힘들게 표현을 해야 하거든요. 엑스플랫폼에서는 GraphicPath 라는 컴포넌트를 제공합니다. 폼 위에 도형을 직접 그릴 수 있는 컴포넌트로 GraphicPathData 정보를 가지고 선이나 곡선을 그릴 수 있습니다. data 속성에 대해서 먼저 알아보겠습니다. 해당 속성값에 들어가는 인자값은 type과 argument 순으로 들어갑니다. type은 대소문자 구분없이 들어갈 수 있습니다. M : moveTo 이동에 대한 속성입니다. GraphicPath 시작점(또는 마지막 위치)에서부터 이동하게 됩니다. ..
콤보 컴포넌트 콤보는 여러 종류의 음식이 섞여 나오는 것을 의미한다고 합니다. 극장에 가서 팝콘이랑 콜라랑 같이 주문을 할때 콤보세트로 주문을 하게 되면 좀 더 가격이 저렴해지거나 합니다. 또는 게임을 할때 몇가지 명령을 조합해서 내리는 경우 새로운 공격을 할 수 있는 명령이 만들어지는데 이것도 콤보라고 표현합니다. 그냥 콤보라고만 하면 좀 혼란스러워 콤보박스라고 이야기합니다. 엑스플랫폼에서는 컴포넌트명이 Combo 입니다. 그리고 일반적으로 콤보박스와 드롭다운을 구별하여 텍스트 영역을 편집 가능하다면 콤보박스 그렇지 않다면 드롭다운이라고 구분하기도 합니다. 엑스플랫폼에서는 type 으로 이를 구분할 수 있게 지원합니다. UX 스튜디오에서 Combo의 모습은 달력 컴포넌트의 기본 모습과 동일합니다. 내부적으로 들어가면..
달력 컴포넌트 사용해보기 날짜를 입력하는 방식에는 여러가지가 있지만 가장 편한 방법은 직접 텍스트로 입력하는게 아닌가 싶습니다. 하지만 직접 입력하는 방식은 실제 가능한 날짜인지 검증하는데 어려움이 있습니다. 그래서 많은 개발 도구에서 다양한 기능을 가지는 달력 컴포넌트를 제공하고 있습니다. 개발 과정에서 처음에 단순한 달력을 원하다가 점점 기능이 추가되더니 스케쥴 관리 애플리케이션이 되어버릴 수도 있습니다. UX 스튜디오는 기업용 애플리케이션 제작에 필요한 강력한 달력 컴포넌트를 제공하고 있습니다. 메뉴얼을 찾아보면 다음과 같이 설명되고 있습니다. Calendar는 날짜와 시간을 입력받기위한 Component입니다. 날짜와 시간의 출력보다 입력 관련된 기능이 많습니다. 월단위로 보고 입력하는 방식과 편집영역에 직접입력하는 방식..
디버깅 조금 해보기 그럼 간단한 애플리케이션을 만들면서 디버깅에 대해 살펴보겠습니다. 만들어볼 애플리케이션은 간단한 그리드에 간단한 데이터가 들어가고 각 셀을 클릭하면 이벤트를 발생시키도록 했습니다. 새로운 프로젝트를 만들고 (File > New > Project) 새로운 폼을 만듭니다 (File > New > Item > Form) 툴바에서 그리드를 선택하고 폼에 배치합니다. 크기는 상관없습니다. 그리고 DataSet도 하나 만들어줍니다. DataSet 은 실체는 있지만 눈에 보이지 않는 객체로 폼에서 그려도 상관없지만 폼에 표현되지 않고 Invisible Objects 영역에 표시됩니다. 데이터도 설정해놓고 DataSet을 그리드로 드래그앤드롭해서 연결하면 셋팅이 완료됩니다. 그리드 이벤트에서 oncellclick 를 ..
어플리케이션? 애플리케이션? Application 을 한글로 표기할때 어떻게 할지 고민을 많이 합니다. 그냥 응용프로그램이라고 풀어서 쓰기도 하고 어플리케이션 또는 애플리케이션이라고 표기합니다. 어플리케이션과 애플리케이션 중에서 어떤 것이 맞냐고 물어보면 제각각 다른 답변을 남기더군요. ^^ OBS 의 유영선 아나운서가 블로그에 남긴 글을 보면 애플리케이션이 맞다고 주장(?)하고 있습니다. 발음기호 상으로는 오히려 애플러케이션과 애플리케이션으로 표기할 수 있다고 하네요. 국립국어원에서 이 문제는 애플리케이션으로 통일했다고 합니다. http://seean.tistory.com/26 발렌타인데이가 밸런타인데이로 변경되고 있다는것은 처음 알았네요. 어짜피 쓸 일도 없으니..ㄷㄷ 엑스플랫폼에서 Application 객체는 애플리케이션의 기..
레이아웃 구성하기 (Div, Panel) Div 라고 하면 HTML 태그에서 나오는 div 와 혼란스러운 부분이 있는데 일단 정의부터 확인해보겠습니다. 메뉴얼을 보면 Div를 다음과 같이 정의하고 있습니다. 하나의 화면에 여러개의 부분화면을 구성할 때 사용하는 컴포넌트로 주 화면과 독립되거나 연계된 화면을 구성할 수 있으며 다른 폼(Form)과 연결해서 사용할 수 있고 border 나 scrollbar를 사용해 영역을 분할할 수 있다. 프레임과의 차이점은 프레임은 각 프레임이 별개의 윈도우처럼 동작하는데 반해 Div는 화면을 분할해서 폼을 용이하게 사용하려는 목적이라고 볼 수 있습니다. UX 스튜디오에서 작업은 Div 를 배치하고 해당 영역 위에 컴포넌트를 추가하면 됩니다. 코드에서 보면 다음과 같이 구성이 됩니다. 각 컴포넌트의 위치를 좌표값..
MDI에 대해 번역된 용어로 다중문서인터페이스라고 하며 Multiple Document Interface 의 약자입니다. 말 그대로 동시에 여러 개의 문서로 작업을 할 수 있는 어플리케이션을 제공해주는 인터페이스라고 할 수 있습니다. 각 문서(또는 어플리케이션)은 별개의 공간을 가지며 각각 작업이 가능합니다. 일반적으로 접하는 PC의 바탕화면과 동일한 인터페이스로 생각할 수 있지만 MDI라는 것은 특정 어플리케이션이나 클라이언트라는 제한된 공간이라는 차이가 있습니다. 요즘은 대부분 브라우저에서 사용하고 있는 탭 브라우저도 MDI라고 할 수 있습니다. 예전처럼 새로운 페이지를 열고 다른 것을 보기 위해서는 다음 페이지로 가거나 새로운 브라우저를 띄울 필요 없이 탭을 사용해서 사용자가 좀 더 빠르고 편하게 정보에 접근할 ..

반응형