[ 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은 구성은 완료

 

Posted by 농부지기
,