77
5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤) 추가하기 멀티미디어 컨트롤을 이용하려면 컨트롤을 컨트롤 박스에 포함 시켜야 한다. 이는 비주얼베이직의 “프로젝트” 메뉴에서 “구성 요소” 항목을 선택하여 포함시킨다.

5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl(멀티미디어 컨트롤) 추가하기 멀티미디어 컨트롤을 이용하려면 그 컨트롤을 컨트롤 박스에 포함을 시켜야 한다. 이는 비주얼베이직의 “프로젝트” 메뉴에서 “구성요소” 항목을 선택하여 포함시킨다.

Page 2: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl(멀티미디어 컨트롤) 추가하기 “구성요소” 항목을 선택했으면 다음의 화면이 표시되는데 이때 “MicroSoft Multimedia Control 6.0”을 선택하고 “확인” 버튼을 누른다.

Page 3: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤) 추가하기

만약 다른 컨트롤을 포함시킬 때도 이와 같은 방법을 사용하여 포함시킨다.

컨트롤 박스를 살펴보면 마지막에 지금까지 보지 못한 컨트롤이 포함되어있다. 이 컨트롤이 멀티미디어를 지원하는 컨트롤인데 다음은 멀티미디어를 포함한 컨트롤 박스를 보여준다.

MMControl 다른 이름으로 MCI 상용 컨트롤이라고도 한다. 각종 미디어 장치를 지원하며 이는 DeviceType 속성에 지정되어 사용된다.

Page 4: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

DeviceType 속성에 지정되는 장치 타입

AVIVideo

CDAudio

DAT

DigitalVideo

MMMovie

Other

Overlay

Sequencer

VCR

Videodisk

WaveAudio

Scanner

Page 5: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl 속성 Command 속성

실행할 MCI 명령어를 지정한다. 다만 이 속성은 디자인 모드에서 사용할 수 없다.

[ 폼. ] MMControl.Command [ = cmdstring$ ]

명령어 명령어와 함께 설정하는 속성(값)

Open Notify (False), Wait (True), Shareable, DeviceType, FileName

Close Notify (False), Wait (True)

Play Notify (True), Wait (False)

Pause Notify (False), Wait (True)

Stop Notify (False), Wait (True)

Back Notify (False), Wait (True), Frames

Step Notify (False), Wait (True), Frames

Prev Notify (False), Wait (True)

Next Notify (False), Wait (True)

Seek Notify (False), Wait (True)

Record Notify (True), Wait (False), RecordMode (mciRecordInsert)

Eject Notify (False), Wait (True)

Sound Notify (False), Wait (False), FileName

Save Notify (False), Wait (True), FileName

Page 6: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl 속성 Command 속성

명령어 설 명

Open MCI_OPEN 명령을 사용해서 장치를 연다.

Close MCI_CLOSE 명령을 사용해서 장치를 닫는다.

Play MCI_PLAY 명령을 사용하여 장치에서 내용을 재생한다

Pause MCI_PLAY 명령을 사용해서 기록이나 재생을 잠시 멈춘다. 장치가 잠시 멈춘 상태에서 실행하면 MCI_RESUME 명령을 사용해서 재생이나 기록 작업을 계속한다.

Stop MCI_STOP 명령을 사용해서 재생이나 기록 작업을 중단한다.

Back MCI_STEP 명령을 사용해서 되돌아간다.

Step MCI_STEP 명령을 사용해서 앞으로 진행한다.

Prev Seek 명령을 사용해서 현재 트랙의 시작 부분으로 간다. 먼저 Prev 명령을 사용한 후 3초 이내에 실행하면 이전 트랙의 시작 부분으로 가거나 처음 트랙에 있는 경우에는 처음 트랙의 시작 부분으로 간다.

Next Seek 명령을 사용해서 다음 트랙의 시작 부분으로 간다(마지막 트랙에 있는 경우에는 마지막 트랙의 시작 부분으로 갑니다).

Seek 재생 중이 아니면 MCI_SEEK 명령어를 사용해서 위치를 찾아간다. 재생 중이면 MCI_PLAY 명령을 사용해서 주어진 위치로부터 재생을 계속한다.

Record MCI_RECORD 명령을 사용해서 기록 작업을 수행한다.

Eject MCI_SET 명령을 사용해서 매체를 추출한다.

Sound MCI_SOUND 명령을 사용해서 소리를 재생한다.

Save MCI_SAVE 명령을 사용해서 열린 파일을 저장한다.

Page 7: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl 속성 CanPlay 속성

열린 MCI 장치가 재생 가능한 것인지를 결정한다. 이 속성은 디자인 모드에서는 사용할 수 없고 실행 모드에서는 읽기 전용

CanPlay 속성값

[ 폼. ] MMControl.CanPlay

설 정 설 명

True 재생 가능

False 재생 불가능

Page 8: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl 속성 CanEject 속성

열린 MCI 장치가 매체를 추출할 수 있는지를 결정한다. 이 속성은 디자인 모드에서는 사용할 수 없고 실행 모드에서는 읽기 전용

CanEject속성값

[ 폼. ] MMControl.CanEject

설 정 설 명

True 추출 가능

False 추출 불가능

Page 9: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl 속성 CanRecord 속성

열린 MCI 장치가 기록 가능한 것인지를 결정한다. 이 속성은 디자인 모드에서는 사용할 수 없고 실행 모드에서는 읽기 전용

CanRecord 속성값

[ 폼. ] MMControl.CanRecord

설 정 설 명

True 기록 가능

False 기록 불가능

Page 10: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl 속성 CanStep 속성

열린 MCI 장치가 한 번에 한 프레임을 진행할 수 있는지를 결정한다. 이 속성은 디자인모드에서는 사용할 수 없고 실행모드에서는 읽기전용

CanStep 속성값

[ 폼. ] MMControl.CanStep

설 정 설 명

True 진행 가능

False 진행 불가능

Page 11: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl 속성 From 속성

Multimedia MCI 컨트롤의 TimeFormat 속성에서 정의된 바에 따라 Play나 Record 명령에서 사용되는 시작점을 지정한다.

이 속성은 디자인 모드에서 사용할 수 없다.

이 속성으로 지정하는 값은 바로 다음의 MCI 명령에만 사용된다. 그 다음으로 사용되는 MCI 명령에서는 다시 From 속성 값을 정하지 않으면(다른 값이든 같은 값이든) 이 값을 무시한다.

[ 폼. ] MMControl.From [ = location& ]

Page 12: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl 속성 To 속성

Multimedia MCI 컨트롤의 TimeFormat 속성에서 정의된 바에 따라 Play나 Record 명령이 끝나는 위치를 지정한다.

이 속성은 디자인 모드에서 사용할 수 없다.

이 속성으로 지정하는 값은 바로 다음의 MCI 명령에만 사용된다. 그 다음으로 사용되는 MCI 명령에서는 다시 To 속성 값을 정하지 않으면(다른 값이든 같은 값이든) 이 값을 무시한다.

[ 폼. ] MMControl.To [ = location& ]

Page 13: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl 속성 UpdateInterval 속성

계속되는 StatusUpdate 이벤트 사이의 초단위를 지정한다. milliseconds%로 표시된 인수에서는 이벤트 사이의 초단위를 지정한다. 이 값이 0이면 StatusUpdate 이벤트가 일어나지 않는다.

Track 속성 TrackLength와 TrackPosition 속성이 정보를 반환하는 트랙을 지정한다. 이 속성은 디자인 모드에서 사용할 수 없다. 참고로 이 속성은 특정 트랙에 대한 정보를 얻을 때에만 사용된다. 현재 트랙과는 상관이 없다.

[ 폼. ] MMControl.To [ = location& ]

[ 폼. ] MMControl.Track [ = track& ]

Page 14: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

Multimedia MCI 컨트롤 상수 Mode 상수

상 수 값 설 명

mciModeOpen 524 장치가 열리지 않은 상태

mciModeStop 525 장치가 정지된 상태

mciModePlay 526 자치가 재생 중

mciModeRecord 527 장치가 기록 중

mciModeSeek 528 장치가 탐색 중

mciModePause 529 장치가 잠시 멈춘 상태

mciModeReady 530 장치가 준비됨

Page 15: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

Multimedia MCI 컨트롤 상수 Notify 상수

Orientation 상수

상 수 값 설 명

mciNotifySuccessful 1 명령이 성공적으로 완료

mciNotifySuperseded 2 명령이 다른 명령에 의해 변경

mciAborted 4 사용자가 명령을 취소

mciFailure 8 명령이 실패

상 수 값 설 명

mciRecordInsert 0 기록 모드가 삽입모드

mciRecordOverwrite 1 기록 모드가 수정모드

Page 16: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

Multimedia MCI 컨트롤 상수 Format 상수

상 수 값 설 명

mciFormatMilliseconds 0 1000분의 1초 유형

mciFormatHms 1 시, 분, 초 유형

mciFormatMsf 2 분, 초, 프레임 유형

mciFormatFrames 3 프레임 유형

mciFormatSmpte24 4 24 프레임 SMPTE 유형

mciFormatSmpte25 5 25 프레임 SMPTE 유형

mciFormatSmpte30 6 30 프레임 SMPTE 유형

mciFormatSmpte30Drop 7 30-drop 프레임 SMPTE 유형

mciFormatBytes 8 바이트 유형

mciFormatSamples 9 예제 유형

mciFormatTmsf 10 트랙, 분, 초, 프레임 유형

Page 17: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl의 MCI 제어판 실습 5-7

MMControl 컨트롤을 이용해서 음악 CD를 구동하는 프로그램을 실습

Prev Next Play Pause Back Step Stop Record Eject

Page 18: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl의 MCI 제어판 실습 5-7

실행 방법 CD롬 드라이버에 음악 CD가 들어가 있으면 트랙번호가 오른쪽 리스트 박스에 표시되고 왼쪽의 텍스트 박스엔 맨 처음의 트랙번호와 시간을 표시하고 MCI 제어판을 제어할 수 있는 상태로 프로그램이 실행된다.

CD롬 드라이버에 음악 CD가 없으면 MCI 제어판의 CD롬 드라이버를 닫을 수 있는 단추만 활성화된다.

Page 19: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl의 MCI 제어판 실습 5-7

실행 방법 음악의 실행은 오른쪽 리스트 박스의 트랙을 선택하여 실행시키거나 MCI 제어판의 시작 단추를 누르면 된다. 이때 시작 단추는 비활성화되고 중지 단추는 활성화된다.

“CD PALYER" 프로그램에 사용된 컨트롤

Page 20: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl의 MCI 제어판 실습 5-7

속성표

컨트롤 이름 컨트롤 종류 사용된 속성

frmCD 폼 (Name) = frmCD Caption = CD PLAYER

lblCD 라벨

(Name) = lblCD Caption = CD PLAYER Font = 굵게, 18, Abadi MT Condensed ForeColor = 파랑

txtTime 텍스트 박스

(Name) = txtTime BackColor = 검정 Enabled = False Font = 굵게, 18 Text = ""

lstSong 리스트 박스 (Name) = lstSong

mmcMCI MCI (Name) = mmcMCI

Page 21: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl의 MCI 제어판 실습 5-7

코드 프로시저 작성 폼이 로드될 때

Private Sub Form_Load() '계속되는 StatusUpdate 이벤트 사이의 초단위를 지정 1000밀리 세컨드 -> 1초 mmcMCI.UpdateInterval = 1000 '장치 타입을 CD 오디오로 설정 mmcMCI.DeviceType = “CDAudio” '장치를 연다 mmcMCI.Command = “Open”

'트랙, 분, 초, 프레임 유형으로 설정 mmcMCI.TimeFormat = mciFormatTmsf '장치의 트랙 수만큼 리스트 박스에 추가 For i = 1 To mmcMCI.Tracks lstSong.AddItem “Track” & Right(“0” & i, 2) Next i End Sub

Page 22: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl의 MCI 제어판 실습 5-7

코드 프로시저 작성 MCI 컨트롤의 상태가 수정될 때

Private Sub mmcMCI_StatusUpdate() '텍스트 박스에 표시할 내용을 생성 f = Right(“00000000” & Hex(mmcMCI.Position), 8) txtTime.Text = “[” & Val(“&h” & Right(f, 2)) & “]:” & _ Val(“&h” & Mid(f, 5, 2)) & “:” & Val(“&h” & Mid(f, 3, 2)) End Sub

Page 23: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 멀티미디어(MultiMedia)

MMControl의 MCI 제어판 실습 5-7

코드 프로시저 작성 리스트 박스의 리스트를 선택했을 때

Private Sub lstSong_Click() 'Play를 시작할 트랙의 포지션을 리스트 박스에서 얻음 t = Val(Right(lstSong.List(lstSong.ListIndex), 2)) '시작 포지션 설정 mmcMCI.From = t '현 트랙을 설정 mmcMCI.Track = t '종료 포지션 설정 mmcMCI.To = mmcMCI.TrackLength * 256 + t '장치를 Play mmcMCI.Command = “Play” End Sub

Page 24: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

비주얼베이직에서는 프로그래머가 각종 입력 대화 상자를 일일이 만들지 않아도 되도록 몇 가지 자주 사용되는 대화 상자를 미리 정의를 해두었는데 이를 공통 대화 상자라 한다.

공통 대화 상자는 프로그래머에게 개발하는데 드는 수고와 시간을 절약시켜주며 응용 프로그램 사용자에게는 일관된 인터페이스를 제공하게 되어 사용자가 그 프로그램에 익숙해지는데 소요되는 시간이 절약되는 효과 또한 얻을 수 있게 된다.

Page 25: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

공통대화상장의 예 파일 열기 대화상자

다른 이름으로 파일 저장 대화상자

Page 26: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

공통대화상장의 예 색 편집 대화상자

글꼴 대화상자

Page 27: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

공통대화상장의 예 인쇄 대화상자

Page 28: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

CommonDialog 컨트롤 추가하기 공통 대화 상자를 사용하려면 CommonDialog 컨트롤을 컨트롤 박스에 포함을 시켜야 한다. 이는 비주얼베이직의 “프로젝트” 메뉴에서 “구성요소” 항목을 선택하여 포함시킨다.

Page 29: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

CommonDialog 컨트롤 추가하기 “구성요소” 항목을 선택했으면 다음의 화면이 표시되는데 이때 “MicroSoft Common Dialog Control 6.0”을 선택하고 “확인” 버튼을 누른다. CommonDialog

CommonDialog 컨트롤은 파일 열기, 파일 저장, 인쇄 옵션설정, 색 선택, 글꼴 선택과 같은 작업에 대한 표준 대화 상자 집합을 제공

Page 30: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

공통 대화 상자의 공용 속성과 메소드 비주얼베이직에서 제공하는 다섯 개의 대화 상자들이 공용으로 사용하는 속성과 메소드

Page 31: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

공통 대화 상자의 공용 속성과 메소드 비주얼베이직에서 제공하는 다섯 개의 대화 상자들이 공용으로 사용하는 속성과 메소드

메서드 표시 대화 상자

ShowOpen 열기 대화 상자를 표시

ShowSave 다른 이름으로 저장 대화 상자를 표시

ShowColor 색 대화 상자를 표시

ShowFont 글꼴 대화 상자를 표시

ShowPrinter 인쇄 대화 상자나 인쇄 옵션 대화 상자를 표시

ShowHelp 도움말 엔진을 불러옴

Page 32: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

색 선택 대화 상자의 속성 Flag 속성

색 대화 상자에 대한 옵션을 반환하거나 설정 Or 연산자를 사용해서 대화 상자에 대해 하나 이상의 플래그를 설정 CommonDialog1.Flags = cdCClFullOpen Or CdlCCHelpButton

value에 사용되는 상수

객체.Flags [= value]

상 수 값 설 명

cdCClFullOpen &H2& 사용자 색 정의 구역을 포함한 전체 대화 상자가 표시

CdlCCHelpButton &H8& 대화 상자가 도움말 단추를 표시

CdlCCPreventFullOpen &H4& 사용자 색 정의 명령어 단추를 비활성화하여 사용자가 사용자 정의 색을 지정하지 못하게 함

CdlCCRGBInit &H1& 대화 상자에 대한 초기 색 값을 설정

Page 33: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

색 선택 대화 상자의 속성 Color 속성

선택한 색을 반환하거나 설정 이 속성이 색 대화 상자에서 색을 반환하려면 cdlCCRGBInit 플래그를 설정

number의 설정은 시스템 색이나 코드에서 RGB나 QBColor 함수로 설정한 색이 됨

객체.Color [= number]

Page 34: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

글꼴 선택 대화 상자의 속성 FontBold, FontItalic, FontStrikethru, FontUnderline, FontName,

FontSize 속성 FontBold 속성

bold를 선택하였는지의 여부

FontItalic 속성 italic을 선택하였는지의 여부

FontStrikethru 속성 취소선을 선택하였는지의 여부. 이 속성을 사용하려면 우선 플래그 속성을

cdlCFEffects로 설정해야 한다.

객체.FontBold [= boolean]

객체.FontItalic [= boolean]

객체.FontItalic [= boolean]

Page 35: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

글꼴 선택 대화 상자의 속성 FontBold, FontItalic, FontStrikethru, FontUnderline, FontName,

FontSize 속성 FontUnderline 속성

밑줄을 선택하였는지의 여부. 이 속성을 사용하려면 우선 Flags 속성을 cdlCFEffects로 설정해야 한다.

FontName 속성 선택한 글꼴 이름

FontSize 속성 선택한 글꼴 크기

객체.FontUnderline [= boolean]

객체.FontName [= font]

객체.FontSize [= points]

Page 36: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

글꼴 선택 대화 상자의 속성 Flags 속성

글꼴 대화 상자에 대한 옵션을 반환하거나 설정 Or 연산자를 사용해서 대화 상자에 대해 하나 이상의 플래그를 설정가능 CommonDialog1.Flags = cdlCFANSIOnly Or CdlCFBoth 글꼴 대화 상자를 표시하기 전에 Flags 속성을 cdlCFScreenFonts,

cdlCFPrinterFonts, 또는 cdlCFBoth로 설정해야 한다. 그렇지 않으면 글꼴이 존재하지 않습니다라는 오류 메시지가 발생하게된다.

value에 사용되는 상수

객체.Flags [= value]

상수 값 설명

cdlCFANSIOnly &H400

대화 상자가 Windows 문자 집합을 사용하는 글꼴의 선택만을 허용하도록 지정함. 이 플래그를 설정하는 경우 사용자는 기호만 들어있는 글꼴을 선택할 수 없음

CdlCFApply &H200 대화 상자에서 적용 단추를 활성화

CdlCFBoth &H3 대화 상자가 사용할 수 있는 프린터와 화면 글꼴을 나열할 수 있게 함

Page 37: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

글꼴 선택 대화 상자의 속성 Flags 속성

value에 사용되는 상수

상수 값 설명

CdlCFEffects &H100 대화 상자가 취소선 효과, 밑줄 효과, 그리고 색 효과를 활성화 하도록 지정

CdlCFFixedPitchOnly &H4000 대화 상자가 고정 피치 글꼴만을 선택하도록 지정

CdlCFForceFontExist &H10000 사용자가 존재하지 않는 글꼴이나 유형을 선택하려고 할 때 오류 메시지 상자를 표시하도록 지정

CdlCFHelpButton &H4 대화 상자가 도움말 단추를 표시

CdlCFLimitSize &H2000 대화 상자가 Min 속성과 Max 속성이 지정한 범위의 글꼴 크기만을 선택하도록 지정

CdlCFNoFaceSel &H80000 선택한 글꼴 이름이 없음

CdlCFNoSimulations &H1000 대화 상자가 가상 글꼴 그래픽 장치 인터페이스(GDI)를 사용하지 않도록 지정

CdlCFNoSizeSel &H200000 글꼴 크기가 선택되지 않았음

CdlCFNoStyleSel &H100000 글꼴 유형이 선택되지 않았음

Page 38: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

글꼴 선택 대화 상자의 속성 Flags 속성

value에 사용되는 상수

상수 값 설명

cdlCFNoVectorFonts &H800 대화 상자가 벡터 글꼴 선택을 허용하지 않도록 지정

CdlCFPrinterFonts &H2 대화 상자가 hDC 속성에서 지정한 프린터가 지원하는 글꼴만 나열

CdlCFScalableOnly &H20000 대화 상자가 크기 조절할 수 있는 글꼴의 선택만 허용하도록 지정

CdlCFScreenFonts &H1 대화 상자가 시스템이 지원하는 화면 글꼴만을 나열

CdlCFTTOnly &H40000 대화 상자가 트루타입 글꼴의 선택만 허용하는 것을 지정

CdlCFWYSIWYG &H8000

대화 상자가 프린터와 화면에서 사용할 수 있는 글꼴의 선택만 허용하도록 지정. 이 플래그를 설정 하 는 경 우 cdlCFBoth 플 래 그 와 cdlCFScalableOnly 플래그도 설정되어야 함

Page 39: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

인쇄 옵션설정 대화 상자의 속성 Copies 속성

인쇄 매수를 설정한다. 만약 Flag 속성이 cdlPDUseDevModeCopies로 설정되어 있으면

Copies 속성은 항상 1이 된다.

FromPage, ToPage 속성 cdlPDPageNums 플래그를 설정했을 때만 이 속성이 유효

FromPage 속성 인쇄할 시작 페이지

ToPage 속성 인쇄할 마지막 페이지

객체.Copies [= number]

객체.FromPage [= number]

객체.ToPage [= number]

Page 40: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

인쇄 옵션설정 대화 상자의 속성 PrinterDefault 속성

인쇄 대화 상자에 있는 사용자 선택이 시스템의 기본 프린터 설정을 변경하는 데 사용될 지 결정하는 옵션을 반환하거나 설정

만일 PrinterDefault의 value값이 True일 때는 인쇄 대화 상자의 설정 부분에서 사용자가 선택한 사항들(프린터 선택, 방향 등)은 사용자의 WIN.INI 파일에 있는 프린터 설정을 변경하는데 사용(Windows NT 운영 체제에서는 이 정보가 레지스트리에 저장)

PrinterDefault의 value값이 False일 때는 사용자 선택 사항들이 시스템의 기본 프린터 설정을 변경하는데 사용될 수 없음

object.PrinterDefault [= value]

Page 41: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

인쇄 옵션설정 대화 상자의 속성 Max, Min 속성

인쇄 범위에 대한 최소 허용값과 최대 허용값을 반환하거나 설정

Flags 속성 인쇄 대화 상자에 대한 옵션을 반환하거나 설정 Or 연산자를 사용해서 대화 상자에 대해 둘 이상의 플래그를 설정가능 CommonDialog1.Flags = cdlPDAllPages Or CdlPDCollate

value에 사용되는 상수

객체.Min [= number ] 객체.Max [= number ]

객체.Flags [= value]

상수 값 설명

cdlPDAllPages &H0 모든 페이지 옵션 단추의 상태를 반환하거나 설정

CdlPDCollate &H10 페이지 순서 맞춤 확인란의 상태를 반환하거나 설정

cdlPDDisablePrintToFile &H80000 파일로 인쇄 확인란을 비활성화

Page 42: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

인쇄 옵션설정 대화 상자의 속성 Flags 속성

value에 사용되는 상수

상수 값 설명

CdlPDHelpButton &H800 대화 상자가 도움말 단추를 표시

CdlPDHidePrintToFile &H100000 파일로 인쇄 확인란을 숨김

CdlPDNoPageNums &H8 페이지 옵션 단추와 관련된 편집 컨트롤을 비활성화

CdlPDNoSelection &H4 선택 옵션 단추를 비활성화

CdlPDNoWarning &H80 기본 프린터가 없을 때 경고 메시지가 나타나지 못하게 함

CdlPDPageNums &H2 페이지 옵션 단추의 상태를 반환하거나 설정

CdlPDPrintSetup &H40 프린터 설정 대화 상자를 표시

CdlPDPrintToFile &H20 파일로 인쇄 확인란의 상태를 반환하거나 설정

CdlPDReturnDC &H100 대화 상자에서 선택한 프린터에 대한 장치 구문을 반환

CdlPDReturnDefault &H400 기본 프린터 이름을 반환

Page 43: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

인쇄 옵션설정 대화 상자의 속성 Flags 속성

value에 사용되는 상수

상수 값 설명

CdlPDReturnIC &H200 대화 상자에서 선택한 프린터에 대한 정보 구문을 반환

CdlPDSelection &H1

선택 옵션 단추의 상태를 반환하거나 설정. CdlPDPageNums과 cdlPDSelection 중 어떤 것도 지정하지 않으면 모든 옵션 단추는 선택 상태가 됨

CdlPDUseDevModeCopies &H40000

프린터 제어기가 여러 장의 인쇄 매수를 지원하지 않는 경우 이 플래그를 설정하면 인쇄 대화 상자에 있는 인쇄 매수 스피너 컨트롤이 비활성화. 제어기가 여러 장의 인쇄 매수를 지원할 때 이 플래그를 설정하면 대화 상자가 필요한 매수를 Copies 속성에 저장

Page 44: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

파일 관련 대화 상자의 속성 DefaultExt 속성

대화 상자에 대한 기본 파일 이름 확장자를 반환하거나 설정 확장자가 없는 파일을 저장할 때 이 속성이 지정한 확장자가 자동으로 파일 이름에 붙여짐

FileName 속성 대화 상자에서 선택된 파일의 경로와 파일명을 반환하거나 설정

FileTitle 속성 열거나 저장할 파일의 이름을 경로없이 반환 사용자가 파일 대화 상자에서 파일을 선택하여 확인 단추를 누를 때 FileTitle 속성은 값을 취하여 선택한 파일을 열거나 저장하는 데 사용할 수 있음

cdlOFNNoValidate 플래그가 설정된 경우 FileTitle 속성은 값을 반환하지 않음

객체.DefaultExt [= string]

객체.FileName [= pathname]

객체.FileTitle

Page 45: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

파일 관련 대화 상자의 속성 Filter 속성

대화 상자의 형식 목록 상자에 나타나는 필터를 반환하거나 설정

CommonDialog1.Filter = Text (*.txt)|*.txt|Pictures (*.bmp;*.ico)|*.bmp;*.ico 사용자가 텍스트 파일이나 비트맵과 아이콘을 포함하는 그래픽 파일을 선택하는 것을

도와줌

FilterIndex 속성 Filter 속성을 사용해서 열기 대화 상자나 다른 이름으로 저장 대화 상자에 대한 필터를 지정할 때 기본 필터를 지정

InitDir 속성 열기 대화 상자나 다른 이름으로 저장 대화 상자에 대한 초기 디렉토리를 지정 이 속성을 지정하지 않은 경우 현재 디렉토리가 사용

객체.Filter [= description1 |filter1 |description2 |filter2...]

객체.FilterIndex [= number]

객체.InitDir [= string]

Page 46: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

파일 관련 대화 상자의 속성 Flags 속성

열기 대화 상자와 다른 이름으로 저장 대화 상자에 대한 옵션을 반환하거나 설정

Or 연산자를 사용해서 대화 상자에 대해 둘 이상의 플래그를 설정가능 CommonDialog1.Flags = cdlOFNAllowMultiselect Or CdlOFNExplorer

value에 사용되는 상수

객체.Flags [= value]

상수 값 설명

cdlOFNAllowMultiselect &H200

실행 모드에서 원하는 파일을 선택하기 위하여 SHIFT키를 누르고 윗쪽 화살표와 아래쪽 화살표를 사용하여 하나 이상의 파일을 선택할 수 있음.

CdlOFNCreatePrompt &H2000 대화 상자가 사용자에게 새 파일을 작성하도록 하는지를 지정

CdlOFNExplorer &H80000 Explorer 형태의 파일 열기 대화 상자 서식을 사용

Page 47: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

파일 관련 대화 상자의 속성 Flags 속성

value에 사용되는 상수

상수 값 설명

CdlOFNExtensionDifferent &H400 반환하는 파일명의 확장자가 DefaultExt 속성에 설정된 확장자와 비교해서 다른지 나타냄

CdlOFNFileMustExist &H1000 사용자가 파일명 입력란에 존재하는 파일명만 입력할 수 있는 지를 지정

CdlOFNHelpButton &H10 대화 상자가 도움말 단추를 표시

CdlOFNHideReadOnly &H4 읽기 전용 확인란을 숨김

CdlOFNLongNames &H200000 긴 파일명을 사용

CdlOFNNoChangeDir &H8 대화 상자가 현재 디렉토리를 대화 상자를 열었을 당시의 디렉토리로 설정

CdlOFNNoDereferenceLinks &H1000 바로 가는 키를 참고하지 않음

CdlOFNNoReadOnlyReturn &H8000 반환된 파일이 읽기 전용 속성 설정을 해제

CdlOFNNoValidate &H100 CommonDialog가 반환하는 파일명에 유효하지 않은 문자를 허용

Page 48: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

파일 관련 대화 상자의 속성 Flags 속성

value에 사용되는 상수

상수 값 설명

CdlOFNOverwritePrompt &H2 선택한 파일이 이미 존재할 경우 다른 이름으로 저장 대화 상자가 메시지 박스를 표시

CdlOFNPathMustExist &H800

사용자가 유효한 경로만을 입력할 수 있는 지를 지정. 이 플래그를 설정하고 사용자가 유효하지 않은 경로를 입력하면 경고 메시지를 표시

CdlOFNReadOnly &H1

대화 상자가 만들어질 때 읽기 전용 확인란이 초기에 설정되게 함. 또한 대화 상자가 닫힐 때 읽기 전용 확인란의 상태를 가리킴

CdlOFNShareAware &H4000 파일 공유 오류를 무시할 것인지를 지정

Page 49: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

파일 관련 대화 상자의 속성 실습 5-8

옵션 버튼을 선택해서 해당 공통 대화상자를 나타내는 프로그램을 실습

Page 50: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

파일 관련 대화 상자의 속성 실습 5-8

실행 방법 프로그램을 실행하면 다음과 같이 각각의 공통 대화 상자를 선택할 수 있는 옵션 버튼

과 선택후 실제로 실행을 시키는 Show Dlg 버튼이 표시됨

각각의 옵션 버튼을 선택 후 버튼을 누르면 해당 공통 대화 상자가 화면에 나타남 다음은 “Save” 옵션 버튼을 선택한 후 나타난 공통 대화 상자임

Page 51: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

파일 관련 대화 상자의 속성 실습 5-8

“CommonDialog”프로그램에 사용된 컨트롤

속성표

컨트롤 이름 컨트롤 종류 사용된 속성

frmCommonDialog 폼 (Name) = frmCommonDialog Caption = ComminDialog

Option1(0) - Option1(5) 옵션 버튼 옵션 버튼을 컨트롤 배열로 만듬

Page 52: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

파일 관련 대화 상자의 속성 실습 5-8

코드 프로시저 작성 명령 버튼을 선택했을 때

Private Sub Command1_Click() '만약 열기 옵션 단추가 지정되었으면 If Option1(0).Value Then CommonDialog1.ShowOpen '열기 공통 대화 상자를 표시 ElseIf Option1(1).Value Then CommonDialog1.ShowSave '저장 공통 대화 상자를 표시 ElseIf Option1(2).Value Then CommonDialog1.ShowColor '색 공통 대화 상자를 표시 ElseIf Option1(3).Value Then 'Flags 속성이 ShowFont메서드를 사용하기 전에 cdlCFBoth, _ cdlCFPrinterFonts에,또는 cdlCFScreenFonts에 설정되어야 한다. CommonDialog1.Flags = cdlCFBoth CommonDialog1.ShowFont '글꼴 공통 대화 상자를 표시 ElseIf Option1(4).Value Then CommonDialog1.ShowPrinter '인쇄 공통 대화 상자를 표시 ElseIf Option1(5).Value Then CommonDialog1.HelpFile = "VB.HLP" CommonDialog1.HelpCommand = cdlHelpContents CommonDialog1.ShowHelp 'Visual Basic 도움말 항목 목차를 표시 End If End Sub

Page 53: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-4 공통 대화 상자(Common Dialog Box)

파일 관련 대화 상자의 속성 실습 5-8

코드 프로시저 작성 폼이 그려질 때

Private Sub Form_Paint() '옵션 단추에 제목을 붙임 Option1(0).Caption = “Open” Option1(1).Caption = “Save” Option1(2).Caption = “Color” Option1(3).Caption = “Font” Option1(4).Caption = “Printer” Option1(5).Caption = “Help” '명령어 단추의 Caption 설정 Command1.Caption = “Show Dlg” End Sub

Page 54: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄 Windows 응용 프로그램들을 살펴보면 거의 대부분의 응용 프로그램들이 도구상자와 상태 표시줄을 포함하고 있는 것을 볼 수 있음

도구상자와 상태 표시줄은 메뉴와 더불어 각자의 독자적인 인터페이스로 사용자의 지원을 충실히 담당함

간단한 도구상자와 상태표시줄의 예

Page 55: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

MicroSoft Common Controls 6.0 컨트롤 추가하기 프로그램에 도구상자와 상태 표시줄을 포함시키려면 ToolBar 컨트롤과 StatusBar 컨트롤을 컨트롤 박스에 포함을 시켜야 함

비주얼베이직의 “프로젝트” 메뉴에서 “구성요소” 항목을 선택하여 포함시킴

“구성요소” 항목을 선택했으면 다음의 화면이 표시되는데 이때 “MicroSoft Common Controls 6.0”을 선택하고 “확인” 버튼을 누름

Page 56: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

MicroSoft Common Controls 6.0 컨트롤 추가하기

ToolBar 도구모음으로서 메뉴의 기능들을 버튼의 형태로 만들어놓은 인터페이스

ImageList

그래픽을 포함하는 배열로서 다른 컨트롤에 필요한 이미지를 제공

Page 57: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

ImageList 컨트롤 속성지정 도구바를 설정하려면 도구바의 각 단추에 들어갈 이미지를 지정해야 하는데 이를 ImageList 컨트롤이 해결한다.

먼저 폼위에 ImageList 컨트롤을 배치한후 컨트롤을 마우스 오른쪽 버튼으로 선택하면 다음의 팝업 메뉴가 나온다. 여기서 “속성” 항목을 선택

Page 58: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

ImageList 컨트롤 속성지정 이제 ImageList 컨트롤의 속성을 설정해야 하는데 “이미지” 탭 항목을 선택

Page 59: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

도구상자 컨트롤 속성 지정 도구상자에 들어갈 이미지들을 모두 지정하였으면 이제 도구상자의 속성을 지정해야 하는데 ImageList 컨트롤 속성과 마찬가지로 마우스 오른쪽 버튼으로 도구상자 컨트롤을 선택하여 “속성” 항목을 선택한다.

도구상자의 속성을 지정할 수 있는 화면

Page 60: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

도구상자 컨트롤 속성 지정 사용할 이미지 리스트를 설정했으면 “단추” 탭 항목을 선택하면 다음의 화면이 표시됨 프로그램 디자인시 단추의 속성을 지정해서 만들 수 있지만 프로그램 실행시에도 단추를 생성시킬 수 있음

단추에 사용되는 구문

[ 객체. ] Add( [ Index ], [ Key ], [ Caption ], [ Style ], [ Image ] )

Page 61: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

도구상자 컨트롤 속성 지정 Style 속성 상수표

상 수 값 설 명

tblDefault 0 일반 단추 스타일

tblCheck 1 이 단추를 클릭하면 다시 누를 때까지 눌린 상태를 유지한다.

tblButtonGroup 2 그룹안에서 단추를 누르면 다른 단추를 누를 때까지 눌린 상태를 유지한다.

tblCheckGroup 3 다른 단추를 누를 때 까지 눌린 상태를 유지한다.

tblSeperator 4 사이를 띄워준다.

tblPlaceHolder 5 사이를 띄어주면서 그 너비를 조정할 수 있다.

Page 62: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

도구상자 컨트롤 속성 지정 도구상자의 속성들을 지정하고 나면 다음과 같이 단추들이 표시된다. 도구상자가 완성된 것이다.

Page 63: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

도구상자 컨트롤 속성 지정 실습 5-9

툴바에 있는 단추를 이용해서 파일을 읽어오고 저장할 수 있는 프로그램을 실습

Page 64: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

도구상자 컨트롤 속성 지정 실습 5-9

실행 방법 프로그램이 실행되면 파일을 열고 저장 할 수 있는 툴바와 텍스트 창이 나타남

Page 65: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

도구상자 컨트롤 속성 지정 실습 5-9

실행 방법 툴바에서 파일을 여는 단추를 누르면 공통 대화 상자인 열기 대화 상자가 나타남

Page 66: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

도구상자 컨트롤 속성 지정 실습 5-9

실행 방법 열기 대화 상자에서 파일을 선택한 후 열기 버튼을 누르면 텍스트 창에 파일의 내용이 나타남

Page 67: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

도구상자 컨트롤 속성 지정 실습 5-9

실행 방법 마찬가지로 툴바에서 저장 단추를 누르면 그 파일의 내용을 저장할 수 있는 공통 대화 상자인 다른 이름으로 저장 대화 상자가 나타남

Page 68: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

도구상자 컨트롤 속성 지정 실습 5-9

“TOOL BAR” 프로그램에 사용된 컨트롤

Page 69: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

도구상자 컨트롤 속성 지정 실습 5-9

코드 프로시저 작성 도구상자에서 단추를 선택했을 때

Private Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib.Button) '선택된 도구 버튼에 따라 Select Case Button.Index '인덱스가 1 즉 Open이면 Case 1 'Open 공통 대화 상자 실행 CommonDialog1.ShowOpen RichTextBox1.LoadFile CommonDialog1.filename '인덱스가 2 즉 Save이면 Case 2 'Save 공통 대화 상자 실행 CommonDialog1.ShowSave RichTextBox1.SaveFile CommonDialog1.filename End Select End Sub

Page 70: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

상태바 컨트롤 속성 지정 StatusBar

이 컨트롤은 윈도우 맨 아래에 위치하면서 그 윈도우의 상태 정보를 표시함

상태바도 도구상자나 이미지 리스트와 마찬가지로 컨트롤을 폼위에 배치한 후 마우스 오른쪽 버튼으로 컨트롤을 선택하면 팝업 메뉴에서 “속성” 항목을 선택가능

상태바의 속성을 지정할 수 있는 화면

Page 71: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

상태바 컨트롤 속성 지정 실습 5-10

폼위에서 마우스를 움직이면 아래의 상태 표시줄에 가로 세로축 좌표를 표시하며 마우스 버튼을 누른 상태로 움직이면 선이 그려지는 프로그램을 실습

Page 72: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

상태바 컨트롤 속성 지정 실습 5-10

실행 방법 프로그램을 실행하면 다음과 같이 빈 폼에 상태 표시줄엔 마우스 그림만 나타남

Page 73: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

상태바 컨트롤 속성 지정 실습 5-10

실행 방법 마우스를 폼위에 위치시키면 상태 표시줄에 다음과 같이 마우스 현재 좌표를 표시

Page 74: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

상태바 컨트롤 속성 지정 실습 5-10

실행 방법 폼위에서 마우스를 누른 상태에서로 움직이게 되면 선이 그려지게 됨

Page 75: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

상태바 컨트롤 속성 지정 실습 5-10

“STATUS BAR”프로그램에 사용된 컨트롤

상태바

Page 76: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

상태바 컨트롤 속성 지정 실습 5-10

코드 프로시저 작성 일반선언부

폼이 로드될 때

폼위에서 마우스 버튼이 눌렸을 때

'마우스 상태를 체크할 변수 선언 Dim DrawFlag As Boolean

Private Sub Form_Load() DrawFlag = False End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) DrawFlag = True '점을 찍는다 PSet (X, Y) End Sub

Page 77: 5-3 멀티미디어(MultiMedia) - KOCWelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee... · 2014. 7. 17. · 5-3 멀티미디어(MultiMedia) MMControl(멀티미디어 컨트롤)

5-3 도구모음과 상태 표시줄

상태바 컨트롤 속성 지정 실습 5-10

코드 프로시저 작성 폼위에서 마우스 버튼이 떼어질 때

폼위에서 마우스가 움직일 때

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) DrawFlag = False End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) '마우스 버튼이 눌려있으면 If DrawFlag Then '선을 그린다 Line -(X, Y) End If '상태바 맨 왼쪽 패널에 X축 위치 표시 StatusBar1.Panels.Item(1).Text = “X=” & Format(X, “00000”) '상태바 왼쪽에서 두번째 패널에 Y축 위치 표시 StatusBar1.Panels.Item(2).Text = “Y=” & Format(Y, “00000”) End Sub