[ Nexacro-FrameWork1. step1.MDI Frame 생성 ]
** 현재 회사에서 화면을 upload할 수 가 없네요.
아쉽지만 소스만 참조 하세요.
-----------------------------------------------------------------------------------------
1. Project 생성
-----------------------------------------------------------------------------------------
1. New Project
2. 'Frame Template' Tab - Default
'Create a new Project'
Name : FarmerMDIFrame
> [Next]
3. Type Definition
'Create new TypeDefinition from default'
default_typedef.xml
> [Next] > [Finish]
-----------------------------------------------------------------------------------------
2. Services 삭제 및 추가
-----------------------------------------------------------------------------------------
1. 초기 Base는 삭제
TypeDefinition > double click
[Services] tab 클릭
Base 선택 후 [Delete]
2. [Add]
Service id:frame, Service type:form, Service url:./frame/
[OK]
-----------------------------------------------------------------------------------------
3. 초기생성된 frame삭제
-----------------------------------------------------------------------------------------
1. ADL > MainFrame > childframe 선택 후 [Delete]버튼 클릭
-----------------------------------------------------------------------------------------
4. frame 구성
-----------------------------------------------------------------------------------------
----------------------------------------
| top frame |
----------------------------------------
| m | tab frame |
| e |-----------------------------------
| n | |
| u | |
| | busi frame |
| | |
| | |
| | |
| | |
----------------------------------------
| bottom frame |
----------------------------------------
-----------------------------------------------------------------------------------------
5. frame 추가
-----------------------------------------------------------------------------------------
1. MainFrame 밑으로 Frame들 추가
2. VFrameSet 추가 : id - vStartFrameSet
(정의 : login frame과 전체화면 frame 추가용
3. vStartFrameSet 에 2개 Frame 추가
- childFrame 추가 : id - loginFrame
- VFrameSet 추가 : id - vMainFrameSet
(정의 : top, middle, bottom 추가용)
4. vMainFrameSet에 3개의 frame 추가
- childFrame 추가 : id - topFrame
- HFrameSet 추가 : id - hMiddleFrameSet
(정의 : menu, menu 오른쪽 추가용)
- childFrame 추가 : id - bottomFrame
5. hMiddleFrameSet에 2개의 frame추가
- childFrame 추가 : id - menuFrame
- VFrameSet 추가 : id - vWorkFrameSet
6. vWorkFrameSet에 2개의 frame추가
- childFrame 추가 : id - tabFrame
- FrameSet 추가 : id - mdiFrameSet
-----------------------------------------------------------------------------------------
6. 추가한 frame에 기본 속성 정의
-----------------------------------------------------------------------------------------
1. MainFrame 속성
- id : mainframe
- mainframe.속성.width = 1024
- mainframe.속성.height = 768
(정의 : 이 size가 존재 해야 project start 시 초기 화면의 size가 된다)
- mainframe.속성.showcascadestatustext = false
- mainframe.속성.showcascadetitletext = false
- mainframe.속성.showstatusbar = false
(정의 : 전체Frame화면 맨 하단에 Status Bar 조회 여부)
2. loginFrame 속성
- loginFrame.속성.dragmovetype = none
(login창을 마우스로 drag 하여 다른 frame에 이동할 수 없도록 조정)
- loginFrame.속성.showtitlebar = false
(login창의 title을 안보여주도록 설정)
3. vStartFrameSet 속성
- 속성.separatesize : *,0
(정의 : 이 속성값으로 프로젝트를 start하면 login화면만 보인다)
* : login frame을 보여주기
0 : login frame을 보여줄때는 vMainFrameSet은 숨기기 [즉, login이전 이므로 업무화면은 안보여줌] )
-----------------------------------------------------------------------------------------
7. login화면 생성 및 연동
-----------------------------------------------------------------------------------------
1. id : frame::loginFrame.xfdl
2. [login]버튼 추가
- 버튼 클릭 시 서버 접속 후 login이 되었다고 판단.
- click event - script :
this.btn_login_onclick = function(obj:Button, e:nexacro.ClickEventInfo)
{
//login은 성공했다고 생각하면 main화면 open
application.afn_loginPass();
}
3. applicaiton단 script 추가
- ADL 에서 오른쪽 마우스 > Edit Script
//login frame을 0 으로 하고 업무 frame(vMainFrameSet)을 보여줌
this.afn_loginPass = function()
{
application.mainframe.vStartFrameSet.set_separatesize("0,*");
}
4. login관련 login frame 속성 변경
- loginFrame.속성.formurl : frame::loginFrame.xfdl
-----------------------------------------------------------------------------------------
8. top, leftMenu, bottom, tab, workMain 화면 만들기
-----------------------------------------------------------------------------------------
1. topFrame.xfdl 만들기
- width : 1024, height : 50
- backgrond : antiquewhite
2. leftMenuFrame.xfdl 만들기
- width : 240, height : 668(768 - 50 - 50) (project총 height - top.height - bottom.height)
- backgrond : aquamarine
3. bottomFrame.xfdl 만들기
- width : 1024, height : 50
- backgrond : antiquewhite
4. tabFrame.xfdl 만들기
- width : 784(1024 - 240) (project총 width-leftMenu.width) , height : 60
- backgrond : goldenrod
5. workMain.xfdl만들기
- width : 784(1024 - 240) (project총 width-leftMenu.width)
height : 608(768 - 50 - 60 - 50) (project총 height - top.height - tab.height - bottom.height)
-----------------------------------------------------------------------------------------
9. top, leftMenu, bottom, tab, workMain 화면에 맞게 frame 속성 변경
-----------------------------------------------------------------------------------------
1. vMainFrameSet 속성
- separatesize : 50,*,50 (top:50, *:leftMenu,workMain, 50:bottom)
2. topFrame 속성
- formurl : frame::topFrame.xfdl
- showtitlebar : false
- dragmovetype : none
3. hMiddleFrameSet 속성
- separatesize : 240,* (loftMenu:240, *:workMain)
4. menuFrame 속성
- formurl : frame::leftMenuFrame.xfdl
- showtitlebar : false
- dragmovetype : none
5. vWorkFrameSet 속성
- separatesize : 60,* (tab:60, *:workMain)
6. tabFrame 속성
- formurl : frame::tabFrame.xfdl
- showtitlebar : false
- dragmovetype : none
7. mdiFrameSet 속성
- 없음
8. bottomFrame 속성
- formurl : frame::bottomFrame.xfdl
- showtitlebar : false
- dragmovetype : none
** 1단계 완료
여기까지 하면 기본 Frame은 구성은 완료
'Nexacro-Framework > framework type1' 카테고리의 다른 글
Nexacro-FrameWork1. step9. 주요소스 (0) | 2017.08.17 |
---|---|
Nexacro-FrameWork1. step5.업무중 Frame hidden처리 (0) | 2017.08.17 |
Nexacro-FrameWork1. step4.Frame에서 업무화면 함수호출 (0) | 2017.08.17 |
Nexacro-FrameWork1. step3.메뉴와 업무화면간 parameter 연동 (0) | 2017.08.17 |
Nexacro-FrameWork1. step2.메뉴연결 및 업무화면생성 (0) | 2017.08.17 |