개발(IT)/DevExpress 교육자료

DevExpress 강좌3-1 (MDI Demo)

isony 2024. 1. 20. 17:43
반응형

1. DevExpress 강좌3-1 (MDI Demo)

이번 강좌3는 MDI 에 대해서 이야기 해 보겠습니다.

 

(1) 기본 데모 프로그램 (부모 MDI)

- MDI 컨테이너에서 속성은 true로 설정된 상태입니다.

- 현재 2개의 빈 메뉴가 있고, 도구모음의 버튼도 있습니다.

- 하위 소스는 인스텐스화하고 자식은 MDI 부모와 연결되어 있습니다.

 

(2) 자식 MDI

- 자식 MDI는 임의의 배경색을 사용하도록 작성되어 자식을 쉽게 확인 할 수 있습니다.

 

(3) 기능 설명

- 첫번째 기능은 도구 모음 병합입니다.

- 자식 MDI에 메뉴나 도구 모음 BarManager를 추가 합니다.

<추가전>

<추가후>

- 일반적으로 상태표시줄은 없고, MDI에서 상태표시줄을 공유하는 것이 더 일반적입니다. 물론 하위 메뉴도 도구모음을 하위양식에 그대로 두도록 선택할 수도 있습니다.

- 상태바를 선택후 Del 키를 눌러 삭제 합니다.

- 메뉴가 기본 양식에 존재한다는 가정하에 하위 양식에 '&View'라는 제목의 하위 메뉴를 만듭니다.

- 메뉴항목 버튼 메뉴 추가합니다. -> 'Child Form View Menu Item' 입력

- 하위 메뉴에 버튼 메뉴 추가합니다. -> 'Child Form Toolbar Button' 입력

(4) 실행

- 현재까지 저장하고 애플리케이션을 실행하여 어떤일이 발생하는지 확인합니다., MDI 하위를 생성('Create MDI Child' 클릭)했을때 하위메뉴 표시줄이 부모 양식 메뉴 표시줄과 병합되어있지만 View 메뉴가 복제되어 있는것을 확인할 수 있습니다.

- 위 View 메뉴를 보시면, 기본 양식의 메뉴(View)는 비어있는 반면 하위 양식 View 메뉴에는 항목이 포함되어 있습니다.

 

(5) 수정 (View 중복)

- 2개의 View에서 하나의 메뉴만 표시

- 부모 barManager1 에는 기본적으로 항상(Always)으로 설정되는 MdiMenuMergeStyle(MDI 메뉴 병합 스타일)이라는 속성이 있습니다. 

- 부모 MDI에서 View 메뉴항목 MergeType(메뉴병합)을 수정 하겠습니다. (Add -> MergeItems)

- 자식 MDI에서View 메뉴항목 MergeType(메뉴병합)을 수정 하겠습니다. (Add -> MergeItems)

- 다시 부모 MDI에서 View메뉴에 버튼 메뉴 2개를 추가 합니다.

- Button : First Main Menu Button

- Button : Button At End

- 'Button At End' 버튼에 대해 그룹시작 옵션을 활성화 합니다.

(6) 실행

- 'Create MDI Child' 버튼 생성시 View 메뉴가 하나만 표시 됩니다.

- 'View" 메뉴 버튼 클릭시 3개의 항목이 보이게 됩니다. (2개는 기본메뉴, 1개는 자식메뉴 - 항목 끝에 추가됨)

(7) 수정

- 병합된 메뉴내에서 병합순서라는 또 다른 속성을 구성해야 합니다. 이는 개별 항목에서 찾을수 있습니다.(MergeOrder)

- MergeOrder 값은 정수값으로 설정가능합니다. 

- 'First Main Menu Button' : MergeOrder -> 0 (0 설정시 이항목이 메뉴의 맨위 항목이어야 함을 나타냅니다.)

- 'Button At End' : 100 (마지막으로 위치함)

- 자식 MDI View 메뉴에 MergeOrder 수정합니다.

- 유연성을 고려해서 0에서 100 사이를 입력하시면 됩니다.

- MergeOrder : 0 -> 50

- 도구모음도 병합 가능합니다. 병합 이벤트에 대한 작은 코드을 작성해야 합니다.

- 부모 MDI barManager1에서 이벤트 트리거를 발생합니다.

- 이벤트 : Merge 더블클릭

- 해제 이벤트에 대해 다른 이벤트를 추가합니다.

- 이벤트 : UnMerge 더블클릭

- barManager1 스마트 태그 메뉴를 사용하여 도구모음을 추가하고 bar이름을 하위 bar로 설정했습니다.

- barManager1 -> BarManager 작업 -> Carete Toolbar

- 'Add' -> BarName : Child Bar

- 설정된 'Add' bar 메뉴를 마우스로 드래그 하여, 'Create MDI Child' 메뉴 오른쪽으로 이동합니다.

- Bar 속성은 Visible : false로 설정합니다.

(8) 실행

- 'Create MDI Child' 클릭시 'Child Form Toolbar Button' 이 표시됩니다. (종료시 사라짐)

(9) 수정

- ChildForm 출력시 간격 :  디자인시 너비 계산에 포한된 디자이너 확장 때문입니다.

- Offset 속성 재설정 (기본값 -> 0)

- 기본 메뉴 추가 : Menu(BarSubItem) -> Widnow

- Window Sub 메뉴 추가 : Mdi Children List(BarMdiChildrenListItem)

(10) 실행

 

2. 소스

sample_3_03.zip
0.03MB

 

반응형