넥사크로플랫폼의 메인화면을 구성하는 프레임 오브젝트의 종류와 SDI, MDI 형태의 애플리케이션에 대하여 확인해 봅니다.
애플리케이션의 구성
SDI 애플리케이션
SDI는 Single Document Interface의 약어로 애플리케이션의 형태가 Single Frame 형태를 의미합니다. 하나의 애플리케이션에 하나의 화면이 표현되는 형태입니다.
MDI 애플리케이션
MDI는 Multiple Document Interface의 약어로 애플리케이션의 형태가 Multi Frame 형태를 의미합니다. 하나의 애플리케이션에 여러개의 화면이 표현되는 형태입니다.
프레임
실습은 [3장. 프로젝트 생성 및 구성] 에서 만들었던 "nexacro17_design" 프로젝트로 진행하겠습니다.
Apps에 있는 mainframe은 프로젝트의 전체 모양의 정보를 보여주고 있으며 전체 프로젝트는 아래와 같은 방법으로 실행할 수 있습니다.
프로젝트 실행방법 [Menu] Generate > Launch or 툴바 아이콘 선택 or 단축키 – Ctrl + F5
처음 프로젝트 생성 시 프레임을 'None' 으로 선택한 뒤 생성했기 때문에 현재 프로젝트는 실행하면 위의 결과처럼 나눠져 있지 않은 영역으로 보여집니다.
지금부터 처음 생성부터 템플릿으로 나눠서 만들었을 때의 결과 모습으로 관련 오브젝트를 확인해보도록 하겠습니다.
아래와 같은 방법으로 애플리케이션을 추가하기 위해 Project Wizard 창을 띄워 App ID를 입력합니다.
• App ID – Frame
[Menu] File > New > Application or 아이콘 dropbutton () > Application
Frameset Template 에서 Favorite Templates 중 TopLeft를 선택하고 Finish 버튼을 클릭합니다.
Apps에 생성된 Frame을 보여주며 FrameBase라는 폴더에 선택한 유형에 포함되는 화면이 자동으로 생성됩니다.
Apps > Frame > mainframe을 더블클릭하면 자세한 화면을 확인 할 수 있습니다.
[ Frame Object ]
MainFrame
애플리케이션의 기본화면을 구성하며 내부적으로 TitleBarControl, StatusBarControl을 기본으로 갖고 있습니다.
ChildFrame
Form의 화면을 로딩하여 보여주며 기본적으로 Form이 로딩될 수 있는 기본단위입니다.
FrameSet
애플리케이션의 화면 배열을 위한 기본단위 화면으로 사용됩니다. 하위 프레임을 자유롭게 배열할 수 있는 기능이 있습니다.
VFrameSet
애플리케이션의 화면 배열을 위한 기본단위 화면으로 사용됩니다. 수직 방향으로 자동으로 하위 Frame을 배열할 수 있는 기능이 있습니다.
HFrameSet
애플리케이션의 화면 배열을 위한 기본단위 화면으로 사용됩니다. 수평 방향으로 자동으로 하위 Frame을 배열할 수 있는 기능이 있습니다.
추가한 Apps를 실행하기 위해 스크린 정보를 변경합니다. 메뉴단의 창에서 drop버튼으로 목록확인후 선택합니다.
프레임의 구분을 위해 FrameBase에 있는 각 화면의 배경을 각각 다르게 변경하고 다시 실행합니다.
MainFrame
애플리케이선의 기본 화면을 구성합니다. 내부적으로 TitleBarControl 과 StatusBarControl을 기본으로 갖고 있습니다. 하위 구성요소로 ChildFrame, FrameSet, HFrameSet, VFrameSet 등을 가질 수 있습니다.
상태선택자
분류 | 선택자 구분 | 종류 |
---|---|---|
MainFrame | 속성선택자 | [status=disabled] |
[status=deactivate] | ||
하위선택자 | titlebar | |
statusbar |
NON XCSS 속성
—.xcss에서 정의 할 수 없는 일반 속성입니다. ( Script 또는 툴에서 제어 )
전체 프로젝트의 크기에는 mainframe 에 포함되어 있는 titlebar/ statusbar 의 높이도 같이 포함된 크기입니다. 해당 정보의 값은 아래 표에서 알 수 있듯이 mainframe이 가진 속성에서 정의되므로 그 의미를 반드시 이해해야 합니다.
분류 | 속성 | 설명 |
---|---|---|
Action | statustext | StatusBar에 표시될 텍스트를 설정하는 속성 |
titletext | TtileBar에 표시될 텍스트를 설정하는 속성 | |
Misc. | progressbardirection | StatusBar에 표시되는 ProgerssBar의 진행방향을 설정하는 속성 |
progressbargap | StatusBar에 표시되는 ProgerssBar의 오른쪽 공간크기를 설정하는 속성 | |
progressbarsize | StatusBar에 표시되는 ProgerssBar의 너비를 설정하는 속성 | |
progressbarsmooth | StatusBar에 표시되는 ProgerssBar의 진행바가 연속된 형태로 표시될지 설정하는 속성 | |
resize | 리사이즈 가능 여부를 설정하는 속성 - true, false | |
showstatusbar | StatusBar를 표시할지 설정하는 속성 | |
showtitlebar | TitleBar를 표시할지 설정하는 속성 | |
showtitleicon | TtileBar에 아이콘 표시여부를 설정하는 속성 | |
Appearance | layered | MainFrame의 윈도우를 투명으로 설정하는 속성 • true : 배경이 투명 윈도우로 표시 MainFrame의 background 속성값이 'transparent'로 자동 변경 • false : 배경이 불투명 윈도우로 표시 |
statusbarheight | StatusBar 높이를 설정하는 속성 | |
titlebarbuttongap | TtileBar에 표시되는 시스템 버튼의 간격을 설정하는 속성 | |
titlebarbuttonsize | TtileBar에 표시되는 시스템 버튼의 크기를 설정하는 속성 | |
titlebarheight | TtileBar 높이를 설정하는 속성 |
layered
• 속성값을 설정하지 않으면 'false'로 적용됩니다.
• 동적으로 변경이 불가능 한 속성입니다.
TitleBarControl
상태선택자
분류 | 선택자 구분 | 종류 |
---|---|---|
TitleBarControl | 속성선택자 | [status=disabled] |
[status=deactivate] | ||
하위선택자 | titleicon | |
minbutton | ||
maxbutton | ||
normalbutton | ||
closebutton |
TitleBar의 텍스트 색은 .TitleBarControl .titleicon 의 속성 중 color 에서 변경해야 적용됩니다.
StatusBarControl
상태선택자
분류 | 선택자 구분 | 종류 |
---|---|---|
StatusBarControl | 속성선택자 | [status=disabled] |
하위선택자 | statustext | |
progressbar | ||
resizegrip |