0
 35   4   1
  View Articles

Name  
   손병목  (2002-02-21 05:24:35, Hit : 10887, Vote : 1249)
Homepage  
   http://www.itmembers.net
Subject  
   예제로 익히는 ActiveX컨트롤(6)-ProgressBar
원래 이번 강좌는 "예제로 익히는 파일 시스템(2) - 랜덤 액세스 파일"을 할 차례입니다.
그러나 파일 시스템을 하기 전에 지난 강좌에서 빠뜨린 부분이기도 하고 머리도 식힐 겸 액티브X 컨트롤을 하나 더 다뤄볼까 합니다.

오늘 다룰 예제는 ActiveX 컨트롤 중 유용하게 사용할 수 있는 진행 표시줄(ProgressBar) 컨트롤에 대한 것입니다.
진행 표시줄은 여러 프로그램에서 흔히 접할 수 있는 개체입니다.

아래 그림을 보시죠.

어떤 기능을 하는지는 이해되시죠? 바로 위의 그림과 같은 실습 예제를 만들어 봅니다.
단, 실제 복사 작업이 이루어지지는 않고 다만 화면으로만 복사 시작, 완료 등을 표시하는 것입니다.


  1. 비베를 실행합니다.(물론 '표준 EXE' 프로젝트로 실행합니다.)

  2. Microsoft Windows Common Controls 6.0을 추가합니다.
    • 새로운 컨트롤 추가하는 방법은 이전 시간에서도 해봤습니다. 컨트롤 도구 상자의 빈곳에 마우스 오른쪽 단추로 클릭하여 [구성 요소]를 선택하는 방법이었죠..(앞의 23번 강좌를 참조하세요.)
    • 이번 시간에는 다른 방법으로 추가해 볼까요. 아래와 같이 [프로젝트] 메뉴에서 [구성 요소]를 클릭합니다. 그리고 [구성 요소] 대화상자에서 Microsoft Windows Common Controls 6.0을 선택합니다.
    • 컨트롤 도구 상자에 새로운 컨트롤이 여러개 추가될 것입니다. 아래 그림 중 ③번 컨트롤이 바로 오늘 실습할 ProgressBar 컨트롤입니다.


  3. 다음과 같이 폼 디자인을 합니다.


    사용된 개체와 속성은 다음과 같습니다.


  4. 다음과 같이 코드를 작성합니다.

    • ①번 코드는 cmdCopyStart 개체("복사 시작" 버튼)의 Click 이벤트에 대한 실행 코드(프로시저)입니다.
      • For ~ Next 문을 사용하여 For ~ Next 사이의 코드를 temp 값이 0에서 100까지 변하는 동안 계속 실행합니다.
      • DoEvents는 이 프로그램이 실행되는 동안 다른 컴퓨터(CPU)가 다른 일도 하라는 뜻입니다.
        무슨 말이냐믄요, 지금과 같이 간단한 프로그램이어서 0부터 100까지 변하는 동안 채 1초도 걸리지 않으면 문제가 없지만, 만약 실제 어떤 파일의 복사 작업을 한다고 생각할 경우 복사하는 파일의 크기에 따라 상당히 오랜 시간이 걸릴 수도 있습니다.
        그런데 이 프로그램이 복사 작업을 하는 동안 컴퓨터가 틈틈히 다른 일도 해야한다는 뜻입니다. 만약 위에서 DoEvents 명령어를 쓰지 않았다면 컴퓨터는 아무리 큰 파일이라도 그것을 복사하는 동안 다른 일들을 못하게 됩니다. 마치 컴퓨터가 멈춰버린 듯한 상황이 되는 거죠...아시겠죠?
      • 메시지 박스(MsgBox)는 뭔지 아시죠? MsgBox 뒤에 처음 오는 문자는 메시지 박스에서 표시할 메시지이고, 두번째는 메시지 박스의 유형입니다. 여기서는 vbOKOnly 즉 확인 단추만 있는 유형을 선택했습니다. 그리고 마지막의 옵션은 메시지 박스의 제목입니다. 그래서 실행이 되면 이런 모양이 나오죠.


    • ②번 코드는 cmdExit 개체("종료" 버튼)의 Click 이벤트에 대한 프로시저입니다.
      프로그램을 끝내라는 뜻입니다.


  5. 다 끝났습니다. 실행하여 [복사 시작] 단추를 누르면 순식간에 그냥 "복사 완료"라는 메시지가 나타납니다.
    실제로 복사하는 것이 아니라 그렇게 보이도록 만들어 놓은 것이니 순식간에 끝날 수밖에요.
    응용 프로그램을 만들 때는 위 코드 중 ①번 부분을 실제 작업이 수행되도록 고쳐야겠죠...

    별것 아닌 실습, 여기서 마칩니다.


소스 파일 첨부합니다.


봄이 올듯 말듯하네요... 감기 조심하시구요. 오늘도 행복하시길...
이상 목요일 새벽, 동주 아빠 손병목이었습니다.

Prev
   예제로 익히는 파일 시스템(2) - 랜덤 접근 파일(上)

손병목
Next
   예제로 익히는 파일 시스템(1) - 순차 접근 파일

손병목


Copyright 1999-2021 Zeroboard / skin by Zetyx