ActiveX 컨트롤 배우기3 (리치텍스트박스/멀티미디어 컨트롤)

Download Report

Transcript ActiveX 컨트롤 배우기3 (리치텍스트박스/멀티미디어 컨트롤)

IT COOKBOOK
Chap 9. Rich TextBox 컨트롤과
Multimedia 컨트롤
한빛미디어㈜
-1-
ehanbit.net
IT COOKBOOK
01. Microsoft Rich TextBox Control 6.0
02. Microsoft Multimedia Control 6.0
03. 요약
한빛미디어㈜
-2-
ehanbit.net
Microsoft Rich TextBox Control 6.0
IT COOKBOOK
Microsoft Rich TextBox Control 6.0
설명
기존의 텍스트박스 컨트롤보다 고급화된 서식화 특징 제공
사용자가 텍스트를 입력하고 편집 가능
리치 텍스트박스 컨트롤을 사용하려면 구성요소 대화상자에서
‘Microsoft Rich TextBox Control 6.0' 추가 필요
기능
텍스트 부분의 서식을 설정할 수 있도록 여러 속성 제공
텍스트를 굵게/이탤릭체로 나타내거나 색 변경 및 위첨자/
아래첨자 작성 가능
내어쓰기/ 왼쪽 들여쓰기와 오른쪽 들여쓰기를 설정하여 단
락 유형 조정 가능
한빛미디어㈜
-3-
ehanbit.net
Microsoft Rich TextBox Control 6.0
IT COOKBOOK
RichTextBox 컨트롤의 특징
컨트롤의 메소드(LoadFile과 SaveFile)를 사용하여 RTF 형식과
ASCII 텍스트 형식의 파일을 직접 읽고 쓸 수 있다.
다른 응용 프로그램에서 사용되는 파일의 반전된 부분을 끌어
와서 직접 컨트롤에 놓는 방법으로 간단히 .rtf 파일의 내용을
리치 텍스트박스 컨트롤로 로드할 수 있다.
Fileame 속성을 설정하여 .rtf나 .txt 파일의 내용을 컨트롤로 로
드한다.
SelPrint 메소드를 사용하여 리치 텍스트박스 컨트롤의 텍스트
전체나 일부를 인쇄할 수 있다.
실행 모드에서 프로그램에서 비트맵, 아이콘, 응용 프로그램
아이콘 같은 포함 개체를 컨트롤에 추가할 수 있다.
한빛미디어㈜
-4-
ehanbit.net
주요 속성
한빛미디어㈜
IT COOKBOOK
-5-
ehanbit.net
IT COOKBOOK
한빛미디어㈜
-6-
ehanbit.net
IT COOKBOOK
주요 메소드
주요 이벤트
한빛미디어㈜
-7-
ehanbit.net
IT COOKBOOK
디자인 모드에서 Scrollbars 설정하기
기본적으로 리치 텍스트박스 컨트롤에는 스크롤 막대가 포함
되지 않아 큰 파일을 읽어들이는 경우 파일 내용을 모두 볼 수
없음
ScrollBars 속성을 “1-수평, 2-수직 또는 3-모두”로 설정 필요
실행 모드에서는 ScrollBars 속성이 읽기 전용이므로 디자인 모
드에서 설정해야 함
LoadFile 메소드와 SaveFile 메소드를 사용하여 파일 열
기 및 저장하기
LoadFile 메소드와 SaveFile 메소드를 사용하여 리치 텍스트박
스 컨트롤과 RTF 파일을 쉽게 열고 저장 가능
개체이름.LoadFile pathname, filetype
개체이름.SaveFile pathname, filetype
 FileType 종류
한빛미디어㈜
-8-
ehanbit.net
IT COOKBOOK
예
Private Sub cmdFileLoad_Click()
RichTextBox1.LoadFile "g:\vb\문서\3부\test.txt"
End Sub
Private Sub cmdFileSave_Click()
RichTextBox1.SaveFile "g:\vb\문서\3부\test_save.txt", rtfText
End Sub
읽어들일 파일
저장된 파일
한빛미디어㈜
-9-
ehanbit.net
IT COOKBOOK
SelFontName, SelFontSize 및 SelFontColor를 사용하여
Font 속성 설정하기
리치 텍스트박스 컨트롤의 텍스트 글꼴 속성을 변경
Private Sub cmdFontColor_Click()
RichTextBox1.SelColor = vbRed
End Sub
Private Sub cmdFontName_Click()
RichTextBox1.SelFontName = "휴먼옛체"
End Sub
Private Sub cmdFontSize_Click()
RichTextBox1.SelFontSize = 20
End Sub
한빛미디어㈜
- 10 -
ehanbit.net
IT COOKBOOK
들여쓰기, 내어쓰기 및 글머리표를 이용한 문단 서식
지정
들여쓰기 설정 속성
SelIndent와 SelRightIndent
내어쓰기 설정 속성
SelHangingIndent
글머리표를 이용한 단락 지정 속성
BulletIndent
예
RichTextBox1.SelIndent = 1
RichTextBox1.SelRightIndent = 1
RichTextBox1.SelHangingIndent = 1
RichTextBox1.SelBullet = True
RichTextBox1.BulletIndent = 1
한빛미디어㈜
- 11 -
ehanbit.net
IT COOKBOOK
SelChange 이벤트를 사용하기
삽입점이 이동되거나 선택이 변경될 때마다 발생하는 이벤트
Private Sub RichTextBox1_SelChange()
If Len(RichTextBox1.Text) = 0 Then
cmdLeftMargin.Enabled = False
cmdRightMargin.Enabled = False
cmdHanging.Enabled = False
cmdBullet.Enabled = False
Else
cmdLeftMargin.Enabled = True
cmdRightMargin.Enabled = True
cmdHanging.Enabled = True
cmdBullet.Enabled = True
End If
End Sub
한빛미디어㈜
- 12 -
ehanbit.net
IT COOKBOOK
SelPrint 메서드를 사용하여 RichTextBox 컨트롤의 내용
인쇄하기
SelPrint 메서드
RichTextBox 컨트롤의 내용을 인쇄할 수 있도록 인쇄 장치로 전
송
텍스트가 RichTextBox 컨트롤에서 선택된 경우
- 오직 선택된 텍스트 만이 대상 장치로 보내짐
텍스트가 선택되지 않은 경우
- RichTextBox 컨트롤의 모든 내용이 대상 장치로 보내짐
SelPrint 메서드는 RichTextBox 컨트롤로부터 텍스트를 인쇄하지
않고 포맷된 텍스트의 사본이 텍스트를 인쇄할 수 있는 장치로
보내어 지도록 하므로 RichTextBox 컨트롤의 내용을 인쇄하는
Print 개체의 hDC 속성이 필요
한빛미디어㈜
- 13 -
ehanbit.net
[실습하기] 파일 인쇄하기
IT COOKBOOK
Private Sub cmdPrint_Click()
CommonDialog1.Flags = cdlPDReturnDC + cdlPDNoPageNums
If RicjTextBox1.SelLength = 0 Then
CommonDialog1.Flags = CommonDialog1.Flags + cdlPDAllPages
Else
CommonDialog1.Flags = CommonDialog1.Flags + cdlPDSelection
End If
CommonDialog1.ShowPrinter
RichTextBox1.SelPrint CommonDialog1.hDC
End Sub
한빛미디어㈜
- 14 -
ehanbit.net
IT COOKBOOK
01. Microsoft Rich TextBox Control 6.0
02. Microsoft Multimedia Control 6.0
03. 요약
한빛미디어㈜
- 15 -
ehanbit.net
Microsoft Multimedia Control 6.0
IT COOKBOOK
Microsoft Multimedia Control 6.0
특징
일반적인 컴팩트 디스크 플레이어나 비디오테이프 레코더에
서 볼 수 있는 명령(함수)과 같은 MCI(Media Control Interface)
명령을 나타내는 일련의 푸시 단추 포함
사용을 위해 ‘Microsoft Multimedia Control 6.0’ 컨트롤 추가 필
요
멀티미디어 컨트롤은 여러 개의 버튼으로 되어 있고 Device
Type 속성을 이용하여 장치 타입 설정
 멀티미디어 컨트롤의 버튼
한빛미디어㈜
- 16 -
ehanbit.net
IT COOKBOOK
DeviceType 속성에 필요한 문자열
한빛미디어㈜
- 17 -
ehanbit.net
IT COOKBOOK
MCI 명령
멀티미디어 장치를 제어하는 일련의 고급 장치 독립적 명령
(Media Control Interface, MCI 명령)
각 명령이 Multimedia 컨트롤의 단추와 직접 대응
한빛미디어㈜
- 18 -
ehanbit.net
IT COOKBOOK
주요 속성
한빛미디어㈜
- 19 -
ehanbit.net
IT COOKBOOK
한빛미디어㈜
- 20 -
ehanbit.net
[실습하기] CD Player 만들기
IT COOKBOOK
 폼에 컨트롤 추가하기




 각 컨트롤의 속성 설정
한빛미디어㈜
- 21 -
ehanbit.net
[실습하기] CD Player 만들기
IT COOKBOOK
 초기하기 위한 코드 작성
Private Sub Form_Load()
MMControl1.Notify = False
MMControl1.Wait = True
MMControl1.Shareable = False
MMControl1.DeviceType = "WaveAudio"
MMControl1.FileName = ""
MMControl1.AutoEnable = True
End Sub
Private Sub Form_Unload(Cancel As Integer)
MMControl1.Command = "Close"
End Sub
한빛미디어㈜
- 22 -
ehanbit.net
[실습하기] CD Player 만들기
IT COOKBOOK
 파일 열기 버튼에 대한 이벤트 핸들러
Private Sub cmdFileOpen_Click()
MMControl1.Command = "Close"
CommonDialog1.Flags = cdlOFNHideReadOnly
CommonDialog1.DialogTitle = "사운드 파일 열기"
CommonDialog1.InitDir = “C:\winnt\media”
CommonDialog1.Filter = "MCI 파일(*.MID, *.WAV)|*.MDI;*.WAV" & _
"|모든 파일(*.*)|*.*"
CommonDialog1.FilterIndex = 1
CommonDialog1.ShowOpen
MMControl1.BackEnabled = True
MMControl1.FileName = CommonDialog1.FileName
MMControl1.Command = "Open"
End Sub
한빛미디어㈜
- 23 -
ehanbit.net
[실습하기] CD Player 만들기
IT COOKBOOK
 프로젝트를 실행 후 파일 열기 버튼 클릭
한빛미디어㈜
- 24 -
ehanbit.net