0
 35   4   1
  View Articles

Name  
   손병목  (2002-02-10 11:33:49, Hit : 24800, Vote : 1309)
Homepage  
   http://www.itmembers.net
Subject  
   예제로 익히는 비베 기초(3)-메뉴만들기
지금부터 하나하나 예제를 만들어야 하는데요, 한번 만든 예제를 그냥 버리자니 뭔가 아까운 생각이 들지 않습니까? 그래서 지금부터 만드는 예제를 모두 모아 하나의 예제 모음 프로그램을 만들어 보는 게 어떨까요?

아래 그림과 같이 5강에서 만든 간단한 시계 프로그램과 6∼7강에서 만든 간단한 그래픽 뷰어 프로그램을 '비베입문'이라는 메뉴에 추가하는 것입니다. 이렇게 해서 과거에 만든 예제 프로그램을 보면서 비베의 기능을 숙지하자는 것이지요.



앞으로 만들 실습 예제 프로그램도 마찬가지입니다. 이런 식으로 예제를 하나하나 완성해가다보면 비베의 기초가 튼튼해지지 않을까요?

오늘 실습할 내용은 이전에 비해 설명할 것들이 많습니다. 전체적으로 한 번 실습해 본 다음 차근차근 다시 읽어나가는 것이 좋을 것입니다.

실습 준비
  • 제 5강에서 실습한 시계 프로그램의 소스 파일을 준비한다.
  • 제 6∼7강에서 실습한 그래픽 뷰어 프로그램의 소스 파일을 준비한다.
  • 위 두개의 프로그램 모두 압축을 해제한 후 새로운 폴더에 복사해 둔다.


자, 설레는 마음으로 하나하나 따라해봅시다.

  1. 먼저 비베를 실행시켜 '표준 EXE' 프로젝트를 시작합니다.
  2. [프로젝트] 메뉴의 [MDI 폼 추가(I)]를 클릭합니다.


    참고로 MDI 폼은 Multi Document Interface의 약어입니다. 즉 여러 개의 문서(창)를 열어놓고 작업할 수 있는 환경이라는 말이죠. 이 MDI 폼에 메뉴를 만들고 하위 메뉴를 만들어 실행하면, 이 MDI 폼 안에서 여러 개의 폼을 실행하여 마치 우리가 워드프로세서를 쓰면서 여러 개의 창을 열어놓고 쓰는 것과 같은 효과를 볼 수 있습니다. 이 때 MDI 폼을 부모 창이라고 하면 그 안에서 실행되는 폼을 자식(MDIChild) 창이라고 합니다.
    • [MDI 폼]이 선택된 상태에서 [열기(O)] 단추를 클릭합니다.
    • MDI 폼이 열렸으면 MDI 폼의 속성을 아래와 같이 바꿔 줍니다.


      • (이름) 속성을 frmMenu로 바꿉니다.
      • Caption 속성을 실습예제모음으로 바꿉니다.


  3. 비베를 실행하면서 처음 열려있던 Form1 폼을 제거합니다.


    • 프로젝트 창에서 Form1(Form1)을 마우스 오른쪽 단추로 클릭한 다음
    • 팝업 메뉴에서 [Form1 제거(R)] 항목을 클릭합니다.
    • 앞으로 이 프로그램에는 폼이 여러 개 필요한데 이러한 의미없는 이름의 폼은 오히려 혼란만 가중시킵니다. 따라서 앞으로 어떤 폼을 만들더라도 반드시 폼의 이름 속성은 프로그램의 성격상 적당한 이름으로 반드시 바꿔놓고 시작하는 것이 좋습니다.


  4. [프로젝트] 메뉴에서 [폼 추가(F)]를 클릭합니다.


    • 위 그림과 같이 [기존 파일] 탭을 클릭하고 위 실습 준비에서 준비해 둔 시계 프로그램의 폼 파일(frmTimer.frm)을 선택하고 [열기(O)]를 클릭합니다.
    • 같은 방법으로 제6∼7강에서 만들었던 그래픽 뷰어 프로그램의 폼도 추가합니다.
      그런데 그래픽 뷰어 프로그램의 폼 이름이 Form1 으로 되어 있죠?
      이전에 6∼7강에서 다룬 그래픽뷰어 프로그램을 만들 때 폼의 이름을 특별히 주지 않아 폼의 이름이 Form1로 되어 있는 것입니다. 그러나 이미 말씀드렸다시피 여러 개의 폼으로 구성된 프로그램을 만들 경우 그 이름이 적절하지 못해 혼란을 초래할 수가 있습니다. 그래픽 뷰어의 폼을 추가한 다음 폼의 이름 속성을 Form1에서 frmViewer1으로 바꿔 주세요.



  5. 이제 아래와 같이 프로젝트 창에 3개의 폼이 표시되죠?
    만약 아래와 같은 모양이 나지 않는다면 다시 처음부터 차근차근 따라해보세요.


    프로젝트 창에 폼의 이름은 추가되었는데 실제로 폼이 보이지 않는다구요? 그렇다면 프로젝트 창의 폼 이름을 더블클릭해보세요. 그러면 해당 폼이 나타날 것입니다.

  6. 이번에는 메뉴를 만듭니다.


    • [도구] 메뉴에서 [메뉴 편집기]를 선택합니다.(단축키 Ctrl+E를 눌러도 됩니다.)
    • 위의 그림과 같이 Caption란에 "파일(&F)"라고 입력하고, Name란에 "mnuFile"이라고 입력합니다.
    • 그리고 [다음(N)] 단추를 클릭합니다.
    • 다시 Caption란에 "종료(&X)"를 입력하고, Name란에 "mnuExit"를 입력합니다.
    • 메뉴 편집기의 중간쯤에 위치한 오른쪽 화살표 단추( )를 클릭합니다. 그러면 "종료(&X)"메뉴 앞에 "...." 표시가 나타나죠? 이것이 바로 하위 메뉴라는 것입니다.
    • 오른쪽 화살표 단추는 하위 메뉴, 왼쪽 화살표 단추는 상위 메뉴로 바꾸는 역할을 합니다. 위쪽 화살표는 선택한 메뉴를 위로 이동시키고, 아래쪽 화살표는 선택한 메뉴를 아래로 이동시킵니다.
    • 결과적으로 다음과 같이 메뉴를 추가한 다음, 왼쪽 오른쪽 위 아래 화살표 단추를 적절히 이용하여 위의 그림과 같은 상태로 만들면 됩니다.
      여러 번 시도해보면 반드시 위와 같은 모양이 나올 것입니다.


      설명 안드려도 알겠지만 위에서 ShortCut(S)란은 단축 키를 정의하는 곳입니다. 즉 Ctrl+X를 누르면 프로그램이 자동으로 종료된다는 뜻이죠.


  7. 아래와 같은 모습이 나왔나요?


    • 파일 메뉴를 누르면 아래에 하위 메뉴가 보여야 됩니다.
    • 마찬가지로 비베입문 메뉴를 누르면 아래에 하위 메뉴가 보여야죠.


  8. 파일 메뉴의 하위 메뉴인 [종료]를 클릭합니다.


    • 그러면 코드 보기 창이 나오고 Private Sub mnuExit_Click()이라는 이벤트 함수가 보이죠?
    • 그 아래에 위 그림과 같이
      End를 입력합니다.


  9. 같은 방법으로 [비베입문] 메뉴의 하위 메뉴인 [시계], [그래픽뷰어]도 클릭하여 아래와 같은 코드를 모두 완성합니다.


    Private Sub mnuExit_Click()
       End
    End Sub


    Private Sub mnuTimer_Click()
       frmTimer.Show
    End Sub


    Private Sub mnuViewer1_Click()
       frmViewer1.Show
    End Sub



  10. 이번에는 frmTimer 폼의 [끝내기(X)] 단추를 더블클릭하여 코드 보기 창을 엽니다.


    • 위 그림과 같이 커맨드 버튼 클릭 이벤트 함수에 예전에 입력했던 "End" 문을 지우고 "Unloade Me"를 입력합니다.
    • 만약 여기의 End 문을 그대로 두면 나중에 프로그램을 실행한 다음 시계 프로그램의 [끝내기] 단추를 누르면 프로그램 전체가 종료되는 결과가 나타납니다. 다시 말해 End 문은 프로그램 전체를 끝내게 되므로 현재 열려진 자신의 폼을 닫는 명령인 "Unload Me"로 바꾼 것입니다.
      이미 위에서 우리가 새로 만든 MID 폼의 [파일] 메뉴에서 [종료]를 누르면 프로그램을 종료하도록 End 문을 썼습니다.


  11. 시계 프로그램의 frmTimer 폼을 선택한 다음 폼 속성창에서 아래 그림과 같이 속성을 변경합니다.


    • Border Style 속성을 '1 - 단일 고정'으로 바꿉니다.
    • MDIChild 속성을 'True'로 설정합니다.


  12. 동일한 방식으로 그래픽 뷰어 프로그램의 frmViewer1 폼의 속성도 위와 같이 바꿔 줍니다.
    Border Style 속성과 MDIChild 속성을 왜 바꿨는지 궁금하시죠? 이 실습을 모두 마친 다음에 Border Styele 속성을 '2 - 크기 조정 가능'으로 하고, MDIChild 속성을 'False'로 한 다음 비교 실행해 보세요. 어떤 점에서 다른지.... 직접 한 번 해보시길... 그 차이가 쉽게 드러납니다.

  13. 이제 모든 것이 끝났습니다. [F5] 키나 메뉴에서 실행 단추를 클릭하여 직접 실행해 보세요. 메뉴를 누를 때 마다 하나하나 변하는 모습, 감격스럽지(?) 않습니까?

  14. 이제 저장을 합시다. 폼 파일 이름은 폼 속성의 이름 그대로 사용하면 될 것 같고, 프로젝트 이름은 "메뉴"로 하면 되겠군요.

  15. 폼 파일과 프로젝트 파일을 저장했으면 이제 실행 파일도 만들어 보세요. 어떻게 만드는지 아시죠? 비베의 [파일] 메뉴에 [메뉴.exe 만들기]라는 메뉴가 있으면 정상입니다. 그걸 누르면 되죠....


휴∼ 오늘은 좀 길었습니다. 너무 욕심을 부리지 않았나 싶네요.
혹시 잘 안되는 것 있으면 이곳 자유게시판에 질문을 하시거나 제 메일로 질문해 주시기 바랍니다.

소스 파일(프로젝트 파일, 폼 파일, 실행 파일)을 올립니다.


앞으로는 오늘 실습과 같이 하나하나 실행해 보면서 비베 프로그래밍의 기본적인 개념부터 테크닉까지 하나하나 알아가도록 하겠습니다.

고요한 일요일 오전이네요. 예쁜 딸 동주는 조금 전에 우유 먹고 자고 있습니다.
이상 동주아빠 손병목이었습니다.

Prev
   예제로 익히는 비베 기초(4)-구구단 [2]

손병목
Next
   변수, 조건문, 루프문의 개념(3)-조건문,루프문

손병목


Copyright 1999-2021 Zeroboard / skin by Zetyx