chap 3. 컨트롤 배우기 1

82
- 1 - Chap 3. Chap 3. 컨컨컨 컨컨컨 컨컨컨 컨컨컨 1 1

Upload: evan-mills

Post on 30-Dec-2015

49 views

Category:

Documents


0 download

DESCRIPTION

Chap 3. 컨트롤 배우기 1. 01. 컨트롤이란 02. 텍스트박스 컨트롤과 레이블 컨트롤 03. 커맨드버튼 컨트롤 04. 프레임 컨트롤 05. 체크박스 컨트롤과 옵션버튼 컨트롤 06. 리스트박스 컨트롤과 콤보박스 컨트롤. 컨트롤이란. 컨트롤 (Control) 폼 개체에 포함되는 시각화된 개체 . 각 컨트롤은 목적에 맞게 자체의 속성 , 메소드 , 이벤트를 가지고 있음 . 종류 기본 컨트롤 윈도우나 내부 기능 등을 제어하기 위한 기본 컨트롤 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chap 3.  컨트롤 배우기  1

- 1 -

Chap 3. Chap 3. 컨트롤 배우기 컨트롤 배우기 11

Page 2: Chap 3.  컨트롤 배우기  1

- 2 -

01. 01. 컨트롤이란컨트롤이란 02. 02. 텍스트박스 컨트롤과 레이블 컨트롤 텍스트박스 컨트롤과 레이블 컨트롤 03. 03. 커맨드버튼 컨트롤 커맨드버튼 컨트롤 04. 04. 프레임 컨트롤 프레임 컨트롤 05. 05. 체크박스 컨트롤과 옵션버튼 컨트롤 체크박스 컨트롤과 옵션버튼 컨트롤 06. 06. 리스트박스 컨트롤과 콤보박스 컨트롤 리스트박스 컨트롤과 콤보박스 컨트롤

Page 3: Chap 3.  컨트롤 배우기  1

- 3 -

컨트롤이란 컨트롤이란

컨트롤컨트롤 (Control)(Control) 폼 개체에 포함되는 시각화된 개체 .

각 컨트롤은 목적에 맞게 자체의 속성 , 메소드 , 이벤트를 가지고 있음 .

종류 기본 컨트롤

윈도우나 내부 기능 등을 제어하기 위한 기본 컨트롤

Activex 컨트롤 (Custom Control)사용자가 직접 제작해 사용하는 컨트롤

이벤트 핸들러컨트롤에 대한 반응 방법을 정의한 이벤트 핸들러 (Event Handler) 를 이용하여 각 컨트롤의 동작을 정의 .

Page 4: Chap 3.  컨트롤 배우기  1

- 4 -

기본 컨트롤기본 컨트롤

픽처박스 (PictureBox)

텍스트 박스 (TextBox)

커맨드 버튼 (CommandBotton)

옵션 버튼 (Option Button)

리스트 박스 (ListBox)

수직 스크롤바 (Vertical Scroll Bar)

드라이브 리스트 박스 (Drive List Box)

파일 리스트 박스 (File List Box)

선 (Line)

데이터 컨트롤 (Data Control)

마우스 포인터 (Mouse Pointer)

레이블 (Label)

프레임 (Frame)

체크 박스 (Check Box)

콤보 박스 (Combo Box)

수평 스크롤바 (Horizontal Scroll Bar)

디렉토리 리스트 박스 (Directory List Box)

도형 (Shape)

타이머 (Timer)

이미지 (Image)

비주얼 베이직 6.0 기본 컨트롤

Page 5: Chap 3.  컨트롤 배우기  1

- 5 -

윈도우 구성 요소 컨트롤윈도우 구성 요소 컨트롤모양모양 이름이름 설명설명

픽처박스픽처박스(Picture Box)(Picture Box)

그래픽 메서드를 가지고 있는 컨트롤그래픽 메서드를 가지고 있는 컨트롤APIAPI 의 의 DC(Device Context)DC(Device Context) 를 개체화 시킨 것를 개체화 시킨 것

레이블레이블(Label)(Label)

레이블 표시레이블 표시APIAPI 의 의 Static Static 윈도우에 해당윈도우에 해당

텍스트 박스텍스트 박스(Text Box)(Text Box)

텍스트를 쓰고 편집할 수 있도록 함텍스트를 쓰고 편집할 수 있도록 함APIAPI 의 의 Edit Edit 윈도우에 해당윈도우에 해당

프레임프레임(Frame)(Frame)

컨트롤들을 모아서 관리컨트롤들을 모아서 관리APIAPI 의 윈도우 스타일 의 윈도우 스타일 GroupGroup 에 해당에 해당

Page 6: Chap 3.  컨트롤 배우기  1

- 6 -

모양모양 이름이름 설명설명커맨드 버튼커맨드 버튼(Command (Command Button)Button)

클릭해서 명령을 내릴 수 있는 버튼 모양 컨트롤클릭해서 명령을 내릴 수 있는 버튼 모양 컨트롤APIAPI 의 의 Button Button 윈도우에 해당윈도우에 해당

체크 박스체크 박스(Check Box)(Check Box)

On/Off On/Off 중 한가지 상태를 가지는 컨트롤중 한가지 상태를 가지는 컨트롤APIAPI 의 의 ButtonButton 윈도우중 윈도우중 CheckBox CheckBox 스타일에 해당스타일에 해당

옵션 버튼옵션 버튼(Option Button)(Option Button)

On/Off On/Off 중 한가지 상태를 가지는 컨트롤이지만 중 한가지 상태를 가지는 컨트롤이지만 현재 프레임안에 있는 옵션 버튼 중에서 하나만 현재 프레임안에 있는 옵션 버튼 중에서 하나만 OOnn 이 될 수 있다이 될 수 있다 ..

APIAPI 의 의 ButtonButton 윈도우중 윈도우중 Radio Button Radio Button 스타일에 스타일에 해당해당

콤보 박스콤보 박스(Combo Box)(Combo Box)

텍스트박스와 리스트 박스를 하나로 합한 컨트롤텍스트박스와 리스트 박스를 하나로 합한 컨트롤APIAPI 의 의 Combo Box Combo Box 윈도우에 해당윈도우에 해당

리스트 박스리스트 박스(List Box) (List Box)

여러 개의 텍스트 중 하나 이상을 선택할 수 있다여러 개의 텍스트 중 하나 이상을 선택할 수 있다 ..

APIAPI 의 의 List Box List Box 윈도우에 해당윈도우에 해당수평스크롤바수평스크롤바(HScroll Bar)(HScroll Bar)

수평 방향 스크롤바수평 방향 스크롤바APIAPI 의 의 ScrollBar ScrollBar 윈도우중 윈도우중 Horiz Horiz 스타일에 해당스타일에 해당

수직스크롤바수직스크롤바(VScroll Bar)(VScroll Bar)

수직 방향 스크롤바수직 방향 스크롤바APIAPI 의 의 ScrollBar ScrollBar 윈도우중 윈도우중 Vert Vert 스타일에 해당스타일에 해당

타이머타이머 (Timer)(Timer) 일정시간마다 자동으로 타이머이벤트 발생컨트롤일정시간마다 자동으로 타이머이벤트 발생컨트롤

Page 7: Chap 3.  컨트롤 배우기  1

- 7 -

Page 8: Chap 3.  컨트롤 배우기  1

- 8 -

Page 9: Chap 3.  컨트롤 배우기  1

- 9 -

파일 컨트롤파일명이나 디렉토리를 나열해주는 컨트롤

모양모양 이름이름 설명설명드러이브 리스트 박스드러이브 리스트 박스(Drive List Box)(Drive List Box)

디스크 드라이브 목록을 나타내는 리스트 박스디스크 드라이브 목록을 나타내는 리스트 박스

디렉토리 리스트 박스디렉토리 리스트 박스(Directory List Box)(Directory List Box)

디렉토리 목록을 나타내는 리스트 박스디렉토리 목록을 나타내는 리스트 박스

파일 리스트 박스파일 리스트 박스(File List Box)(File List Box)

현 디렉토리의 파일 내용을 나타내는 리스트 박스현 디렉토리의 파일 내용을 나타내는 리스트 박스

Page 10: Chap 3.  컨트롤 배우기  1

- 10 -

그래픽 컨트롤

데이터베이스 컨트롤

모양모양 이름이름 설명설명도형도형 (Shape)(Shape) 원원 , , 타원타원 , , 사각형 등의 기본 도형을 그림사각형 등의 기본 도형을 그림선 선 (Line)(Line) 양 끝점을 잇는 직선을 그림양 끝점을 잇는 직선을 그림이미지 이미지 (Image)(Image) 이미지 표시이미지 표시 , , 비트맵 이미지만을 표시비트맵 이미지만을 표시

모양모양 이름이름 설명설명

데이터 컨트롤데이터 컨트롤(Data Control)(Data Control)

데이터베이스 열기데이터베이스 열기 , , 검색검색 , , 삽입삽입 // 삭제삭제 // 갱신갱신 , , 종료등의 작업 수행종료등의 작업 수행

Page 11: Chap 3.  컨트롤 배우기  1

- 11 -

속성속성 , , 메소드메소드 , , 이벤트이벤트

풍선 . 색

풍선 . 높이

풍선 . 길이 풍선 . 핀으로콕찌르기

풍선 . 바람빠지기

풍선 .뻥소리내기

풍선의 속성 풍선의 이벤트 풍선의 메서드

Page 12: Chap 3.  컨트롤 배우기  1

- 12 -

속성 속성 (Property)(Property) 각 컨트롤의 특징을 결정하는 요소 .

텍스트박스 컨트롤의 경우 텍스트 박스에 쓸 내용이나 위치 , 크기 등이 모두 속성에 해당 .

속성 편집각 컨트롤의 속성 상태나 편집은 속성 창속성 창을 사용하거나 코드 편집 코드 편집 창창에서 가능하다 .

Page 13: Chap 3.  컨트롤 배우기  1

- 13 -

사전순 ( 좌 ) 과 항목순 나열 속성 창

Page 14: Chap 3.  컨트롤 배우기  1

- 14 -

실습 실습 : : 폼의 폼의 Caption Caption 속성 설정하기속성 설정하기폼 선택하기1

Caption 속성 변경2

Page 15: Chap 3.  컨트롤 배우기  1

- 15 -

속성 설정 속성 설정 디자인 - 타임 에디팅 (Design-Time Editing)

속성 창을 이용하여 편집 Name 속성 , Index 속성 , Appearance 속성

런 - 타임 에디팅 (Run-Time Editing) 코드 편집 창을 사용하여 설정

대부분은 디자인 - 타임과 런 - 타임 모두에서 편집 가능

Backcolor/ForeColor 속성 backcolor 는 컨트롤의 배경색을 , Forecolor 은 컨트롤의 텍스트나 그래픽을 표현하는 데 사용코드 편집 창에서의 구문형식

[ 컨트롤 이름 .]BackColor [= 색상 값 ] [ 컨트롤 이름 .]ForeColor [= 색상 값 ]

Page 16: Chap 3.  컨트롤 배우기  1

- 16 -

MousePointer 속성 런 - 타임 시 컨트롤 위에 마우스가 위치하고 있을 때의 마우스의 모양을 설정하는 속성 윈도우에서 제공하는 커서와 사용자 정의 마우스 커서도 사용 코드 편집 창에서의 구문 형식

[ 컨트롤 이름 .]MousePointer [= 값 ]

Page 17: Chap 3.  컨트롤 배우기  1

- 17 -

Page 18: Chap 3.  컨트롤 배우기  1

- 18 -

Font 속성 글자를 사용하는 컨트롤의 글꼴 및 크기 등을 지정하는 속성폰트의 속성은 서로 배타적이므로 중복하여 설정 가능코드 편집 창에서의 구문 형식

[ 컨트롤 .]Font [ = 폰트 ] [ 컨트롤 .]Font.Name [ = 문자열 ] [ 컨트롤 .]Font.Bold [ = True/False ] [ 컨트롤 .]Font.Size [ = 값 ] [ 컨트롤 .]Font.Italic [ = True/False ] [ 컨트롤 .]Font.StrikeThrough [ = True/False] [ 컨트롤 .]Font.Underline [ = True/False] [ 컨트롤 .]Font.Weight [ = 값 ]

Page 19: Chap 3.  컨트롤 배우기  1

- 19 -

메소드메소드 (Method)(Method) 정의

개체에 포함된 고유한 동작을 의미서브루틴 / 함수와 달리 하나의 개체를 대상으로 함비주얼 베이직에서의 메소드 역시 어떤 기능을 수행하는 것으로 , 컨트롤이 이미 가지고 있는 여러 함수를 메소드라 함 . 예 : SetFocus 메소드

입력 포커스를 이동할 수 있게 해주는 메소드 코드 편집 창에서 사용하는 구문 형식 [ 컨트롤 이름 .]SetFocus

Page 20: Chap 3.  컨트롤 배우기  1

- 20 -

[[ 실습하기실습하기 ] SetFocus ] SetFocus 메서드 사용하기 메서드 사용하기

폼 위에 텍스트박스 컨트롤 추가폼 위에 텍스트박스 컨트롤 추가 . .

Page 21: Chap 3.  컨트롤 배우기  1

- 21 -

왼쪽에 있는 텍스트박스 컨트롤왼쪽에 있는 텍스트박스 컨트롤 (Text1)(Text1) 을 을 더블클릭하여 코드 편집 창이 표시더블클릭하여 코드 편집 창이 표시

이벤트 목록 콤보박스에서 이벤트 목록 콤보박스에서 KeyPress KeyPress 이벤트를 이벤트를 선택선택

Page 22: Chap 3.  컨트롤 배우기  1

- 22 -

KeyPress KeyPress 이벤트 핸들러에 코드 추가이벤트 핸들러에 코드 추가 . .

프로그램을 실행하고 프로그램을 실행하고 Text1 Text1 텍스트박스 텍스트박스 컨트롤에서 엔터 키를 입력컨트롤에서 엔터 키를 입력 . .

If keyAscii = vbKeyReturn Then Text2.SetFocus End If

포커스 이동

Page 23: Chap 3.  컨트롤 배우기  1

- 23 -

이벤트이벤트 (Event)(Event) 마 우 스 나 키 를 누 르 는 것 과 같 은 사 용 자 의 동 작 을

통하거나 프로그램 컨트롤을 통해서 또는 다른 창의 작동 결과를 통해서 발생하는 사건 .

풍선의 공기 빼기 → 공기가 빠지는 이벤트 발생

Page 24: Chap 3.  컨트롤 배우기  1

- 24 -

[[ 실습하기실습하기 ] ] 삑삑 ~ ~ 소리내기소리내기

폼 위에 커맨드버튼을 하나 배치하고 코드 편집 창 폼 위에 커맨드버튼을 하나 배치하고 코드 편집 창 표시표시

Page 25: Chap 3.  컨트롤 배우기  1

- 25 -

코드 편집 창의 왼쪽 콤보박스에서 코드 편집 창의 왼쪽 콤보박스에서 Command1Command1을 선택한 후 오른쪽 콤보박스에서 이벤트를 을 선택한 후 오른쪽 콤보박스에서 이벤트를 선택한다선택한다 . .

Page 26: Chap 3.  컨트롤 배우기  1

- 26 -

다음과 같이 다음과 같이 Beep Beep 라는 코드를 추가한 후 라는 코드를 추가한 후 프로그램을 실행해 버튼을 클릭하면 삑프로그램을 실행해 버튼을 클릭하면 삑 ~ ~ 소리가 소리가 나는지 확인해보자나는지 확인해보자 . .

Page 27: Chap 3.  컨트롤 배우기  1

- 27 -

컨트롤 이름 작성 규칙컨트롤 이름 작성 규칙

헝가리안 표기법헝가리안 표기법 간단히 각 컨트롤을 생성할 때 컨트롤에 따른 예약

접두어를 앞에 붙여주면 된다 .

예약 접두어 의미 예약접두어 의미ani-ani- Animation Animation

ButtonButtonimg-img- ImageImage

chk-chk- CheckBoxCheckBox lbl-lbl- LabelLabel

cmd-cmd- Command Command ButtonButton

lin-lin- LineLine

dir-dir- DirectoryList BoxDirectoryList Box lst-lst- ListBoxListBox

dlg-dlg- Common DialogCommon Dialog mnu-mnu- MenuMenu

drv-drv- DriveList BoxDriveList Box opt-opt- Option ButtonOption Button

fil-fil- FileList BoxFileList Box pic-pic- PicturePicture

frm-frm- FormForm txt-txt- TextBoxTextBox

fra-fra- FrameFrame 비주얼베이직 컨트롤의 명명법

Page 28: Chap 3.  컨트롤 배우기  1

- 28 -

비주얼베이직 컨트롤의 명명법 예

Page 29: Chap 3.  컨트롤 배우기  1

- 29 -

01. 01. 컨트롤이란컨트롤이란 02. 텍스트박스 컨트롤과 레이블 컨트롤 03. 03. 커맨드버튼 컨트롤 커맨드버튼 컨트롤 04. 04. 프레임 컨트롤 프레임 컨트롤 05. 05. 체크박스 컨트롤과 옵션버튼 컨트롤 체크박스 컨트롤과 옵션버튼 컨트롤 06. 06. 리스트박스 컨트롤과 콤보박스 컨트롤 리스트박스 컨트롤과 콤보박스 컨트롤 07. 07. 요약요약

Page 30: Chap 3.  컨트롤 배우기  1

- 30 -

텍스트박스 컨트롤텍스트박스 컨트롤 (Textbox Control)(Textbox Control)

텍스트박스 컨트롤텍스트박스 컨트롤 특징

문자열이나 숫자 형태의 값을 사용자가 입력하는 경우 사용여러 줄의 문자열을 입력 가능입력하는 문자열이 컨트롤의 범위를 넘어가는 경우 스크롤 가능텍스트박스 안에 입력되는 문자열의 크기는 최대 2,048 자

Page 31: Chap 3.  컨트롤 배우기  1

- 31 -

주요 속성속성 초기값 설명

Alignment 0- 왼쪽맞춤 텍스트 박스에 입력한 문자열의 위치 설정

BorderStyle 1- 단일고정 테두리 모양 설정 , 초기값은 테두리가 3D 형태인 단일 고정임

Locked False 텍스트박스 안의 내용 편집이 가능하도록 할 것인지를 설정 , False 이면 편집 가능

MaxLength 0 텍스트박스 안의 최대 문자열의 길이 설정 , 32KB 까지의 문자열 입력 가능

MultiLine False 텍스트박스 안에서 여러 줄의 문자열 입력이 가능하도록 할 것인지를 설정 , True 이면 여러 줄의 문자열 사용 가능

PassWordChar 없음 텍스트박스 안에 입력된 문자열 대신 화면에 출력하는 문자로 주로 암호를 입력하는 프로그램에서 사용

Text Text1 텍스트박스에 입력되어 있는 문자열을 나타내는 속성

ScrollBars 0- 없음 수평 , 수직 , 양방향 스크롤 바를 텍스트박스에 보이도록 할 것인지를 설정 , MultiLine 속성이 False 로 설정되어 있는 경우에는 변화 없음

Page 32: Chap 3.  컨트롤 배우기  1

- 32 -

주요 이벤트와 메서드

종류 목록 설명 이벤트 Move 텍스트박스 컨트롤의 폼에서의 위치 설정

SetFocus 텍스트박스 컨트롤에 포커스를 주기 위해 사용

Zorder 텍스트박스 컨트롤의 Z- 순서를 설정

메소드 Change 텍스트 속성의 값을 변경했을 경우 발생하는 이벤트

Click 텍스트박스 컨트롤을 마우스로 클릭하는 경우 발생하는 이벤트

DblClick 텍스트박스 컨트롤을 마우스로 더블클릭하는 경우 발생하는 이벤트

KeyPress 텍스트박스 컨트롤이 포커스를 가진 상태에서 특수키 (Alt, Ctrl, Shift 키 ) 이외의 키를 눌렀을 때 발생하는 이벤트

Page 33: Chap 3.  컨트롤 배우기  1

- 33 -

[[ 실습하기실습하기 ] ] 입력된 암호 검사하기입력된 암호 검사하기 11

폼 위에 컨트롤을 배치하고 속성 설정폼 위에 컨트롤을 배치하고 속성 설정

번호 컨트롤 종류 컨트롤 이름 설명

폼frmPassword Caption = " 암호 입력하기“

SetFocus StartUpPosition = 2- 화면 가운데

텍스트박스 txtPassword Text = " "

Page 34: Chap 3.  컨트롤 배우기  1

- 34 -

코드 편집 창을 표시하고코드 편집 창을 표시하고 , , 컨트롤컨트롤 (Text1)(Text1) 과 과 KKeyPress eyPress 이벤트를 선택이벤트를 선택 . .

Key_Press Key_Press 이벤트를 정의 이벤트를 정의

Private Sub txtPassword_KeyPress(KeyAscii As Integer) ‘ Enter 키를 눌렀을 때 .. If KeyAscii = 13 Then If txtPassword.Text = "good" Then MsgBox "정확하게 입력하셨네요 !!" Else MsgBox " 암호가 틀렸습니다 !!" End If End If End Sub

Page 35: Chap 3.  컨트롤 배우기  1

- 35 -

프로그램을 실행하고 텍스트박스에 암호 입력 프로그램을 실행하고 텍스트박스에 암호 입력

‘good’ 를 입력한 경우

다른 문자열을 입력한 경우

Page 36: Chap 3.  컨트롤 배우기  1

- 36 -

레이블 컨트롤레이블 컨트롤 (Label Control)(Label Control)

레이블 컨트롤레이블 컨트롤 특징

레이블 컨트롤은 텍스트박스 컨트롤과 달리 프로그램 실행 중에 포커스를 가지지 못하고 , 문자열이나 숫자를 폼에 보여주는 컨트롤로 단순히 문자열을 출력 주요 속성

Page 37: Chap 3.  컨트롤 배우기  1

- 37 -

[[ 실습하기실습하기 ] Font ] Font 속성으로 글꼴 바꾸기속성으로 글꼴 바꾸기

폼 위에 레이블 컨트롤을 배치한 후 폼 위에 레이블 컨트롤을 배치한 후 Caption Caption 속성 을 ‘비주얼베이직 알기속성 을 ‘비주얼베이직 알기 !!’!!’로 변경로 변경 . .

Page 38: Chap 3.  컨트롤 배우기  1

- 38 -

Font Font 속성의 오른쪽에 있는 버튼속성의 오른쪽에 있는 버튼 ( )( ) 을 클릭을 클릭 . . 글꼴 대화상자에서 글꼴글꼴 대화상자에서 글꼴 , , 글꼴 유형글꼴 유형 , , 크기 등을 크기 등을 변경 변경

Page 39: Chap 3.  컨트롤 배우기  1

- 39 -

‘ ‘ 확인확인 (OK)’ (OK)’ 버튼 눌러 레이블의 글꼴이 버튼 눌러 레이블의 글꼴이 변경되었는지 확인변경되었는지 확인 ..

Page 40: Chap 3.  컨트롤 배우기  1

- 40 -

01. 01. 컨트롤이란 컨트롤이란 02. 02. 텍스트박스 컨트롤과 레이블 컨트롤 텍스트박스 컨트롤과 레이블 컨트롤 03. 03. 커맨드버튼 컨트롤 커맨드버튼 컨트롤 04. 04. 프레임 컨트롤 프레임 컨트롤 05. 05. 체크박스 컨트롤과 옵션버튼 컨트롤 체크박스 컨트롤과 옵션버튼 컨트롤 06. 06. 리스트박스 컨트롤과 콤보박스 컨트롤 리스트박스 컨트롤과 콤보박스 컨트롤

Page 41: Chap 3.  컨트롤 배우기  1

- 41 -

커맨드버튼 컨트롤커맨드버튼 컨트롤 (CommandButton Control)(CommandButton Control)

커맨드버튼 컨트롤커맨드버튼 컨트롤 특징

프로그램에 응답하거나 사용자가 마우스로 커맨드버튼을 클릭했을 때 특정한 작업을 수행하거나 취소하도록 지시하는 데 주로 사용 .

Default 로 저장된 버튼 처음 폼이 활성화되었을 때 특정 컨트롤이 기본적으로 포커스를 가지도록 할 수 있는데 이를

위해 Default 속성이 사용된다 . Default 속성이 True 로 설정되면 폼이 활성화될 때 자동으로 포커스를 가진다

Page 42: Chap 3.  컨트롤 배우기  1

- 42 -

주요 속성 및 이벤트 , 메소드

Page 43: Chap 3.  컨트롤 배우기  1

- 43 -

버튼에 비트맵 삽입하기Picture 속성을 이용하여 사용할 비트맵 파일을 지정커맨드버튼에 삽입할 수 있는 이미지 종류

비트맵 (Bitmap), 아이콘 (Icon), 메타파일 (Metafile), GIF, JPG 등

커맨드버튼에 비트맵을 입히기 위하여 주로 사용되는 속성StylePictureDisabledPictureDownPicture

각 속성의 특징

Page 44: Chap 3.  컨트롤 배우기  1

- 44 -

[[ 실습하기실습하기 ] ] 버튼에 그림넣기버튼에 그림넣기

폼에 커맨드 버튼 추가하고 속성 변경폼에 커맨드 버튼 추가하고 속성 변경 . .

Page 45: Chap 3.  컨트롤 배우기  1

- 45 -

picture picture 속성을 선택하고 파일 선택 버튼속성을 선택하고 파일 선택 버튼 ( )( ) 을 을 눌러 눌러 [[ 그림 로드그림 로드 ] ] 대화상자를 표시하고 그림 선택대화상자를 표시하고 그림 선택

Page 46: Chap 3.  컨트롤 배우기  1

- 46 -

Style Style 속성을 속성을 '1-'1- 그래픽그래픽 '' 으로 변경 으로 변경

Page 47: Chap 3.  컨트롤 배우기  1

- 47 -

커맨드버튼을 클릭하면 메시지상자가 출력되도록 커맨드버튼을 클릭하면 메시지상자가 출력되도록 Click Click 이벤트 프로시저를 작성 이벤트 프로시저를 작성

프로그램을 실행하고 커맨드버튼을 클릭하여 프로그램을 실행하고 커맨드버튼을 클릭하여 메시지상자 표시메시지상자 표시 . .

Private Sub cmdPic_Click() MsgBox "커맨드 버튼에 그림을 넣었군요 !. " End Sub

Page 48: Chap 3.  컨트롤 배우기  1

- 48 -

01. 01. 컨트롤이란 컨트롤이란 02. 02. 텍스트박스 컨트롤과 레이블 컨트롤 텍스트박스 컨트롤과 레이블 컨트롤 03. 03. 커맨드버튼 컨트롤 커맨드버튼 컨트롤 04. 04. 프레임 컨트롤 프레임 컨트롤 05. 05. 체크박스 컨트롤과 옵션버튼 컨트롤 체크박스 컨트롤과 옵션버튼 컨트롤 06. 06. 리스트박스 컨트롤과 콤보박스 컨트롤 리스트박스 컨트롤과 콤보박스 컨트롤

Page 49: Chap 3.  컨트롤 배우기  1

- 49 -

프레임 컨트롤프레임 컨트롤 (Frame Control)(Frame Control)

프레임 컨트롤프레임 컨트롤 특징

역할컨트롤들을 임의의 기준에 대해 분류하여 시각적인 효과를 주거나컨트롤을 그룹 단위로 묶여주는 역할을 함 .

다른 컨트롤을 그 안에 포함시킬 수 있음포함된 컨트롤은 자식 컨트롤이 되고 프레임 컨트롤은 부모 컨트롤이 됨 . 부모 컨트롤인 프레임 컨트롤을 이동하면 안에 포함된 자식 컨트롤도 함께 움직이며 자식 컨트롤은 프레임 컨트롤 밖으로는 이동할 수 없음 .

프레임 컨트롤

Page 50: Chap 3.  컨트롤 배우기  1

- 50 -

부모 컨트롤과 자식 컨트롤의 생성 순서 자식 컨트롤이 부모 컨트롤 안에 포함되어져야 하기 때문에 당연히 부모 컨트롤이 먼저

만들어지고 그 위에 자식 컨트롤들을 배치해야 한다 .

Page 51: Chap 3.  컨트롤 배우기  1

- 51 -

01. 01. 컨트롤이란 컨트롤이란 02. 02. 텍스트박스 컨트롤과 레이블 컨트롤 텍스트박스 컨트롤과 레이블 컨트롤 03. 03. 커맨드버튼 컨트롤 커맨드버튼 컨트롤 04. 04. 프레임 컨트롤 프레임 컨트롤 05. 05. 체크박스 컨트롤과 옵션버튼 컨트롤 체크박스 컨트롤과 옵션버튼 컨트롤 06. 06. 리스트박스 컨트롤과 콤보박스 컨트롤 리스트박스 컨트롤과 콤보박스 컨트롤

Page 52: Chap 3.  컨트롤 배우기  1

- 52 -

체크박스 컨트롤과 옵션버튼 컨트롤체크박스 컨트롤과 옵션버튼 컨트롤

체크박스 컨트롤과 옵션버튼 컨트롤체크박스 컨트롤과 옵션버튼 컨트롤 특징

같은 그룹 안에 있는 항목을 선택하기 위해 사용하는 컨트롤참 / 거짓 중 한 가지 상태만을 가질 수 있음 .

체크박스 (CheckBox) 컨트롤

옵션버튼 (OptionButton) 컨트롤

체크박스 컨트롤과 옵션버튼 컨트롤의 특징체크박스 컨트롤과 옵션버튼 컨트롤의 특징

Page 53: Chap 3.  컨트롤 배우기  1

- 53 -

주요 속성

Page 54: Chap 3.  컨트롤 배우기  1

- 54 -

[[ 실습하기실습하기 ] ] 설문조사하기설문조사하기

폼에 컨트롤 추가하기 폼에 컨트롤 추가하기

11

12

13

14

각 컨트롤의 속성 설정

Page 55: Chap 3.  컨트롤 배우기  1

- 55 -

cmdDisp cmdDisp 버튼의 버튼의 Click Click 이벤트 핸들러 작성 이벤트 핸들러 작성

Private Sub cmdDisp_Click() Dim DispText As String ' 이름을 넣는다 . DispText = "이름 : " & txtName ' 성별을 넣는다 . DispText = DispText & Chr(13) & Chr(10) & "성별 : " If optMan.Value = True Then DispText = DispText & " 남성 " Else DispText = DispText & "여성 " End If

Page 56: Chap 3.  컨트롤 배우기  1

- 56 -

' 좋아하는 색을 넣는다 . DispText = DispText & Chr(13) & Chr(10) & " 좋아하는 색 : " If chkRed.Value = 1 Then DispText = DispText & " 빨강 , " End If If chkBlue.Value = 1 Then DispText = DispText & "파랑 , " End If If chkYellow.Value = 1 Then DispText = DispText & " 노랑 , " End If If chkPurple.Value = 1 Then DispText = DispText & "보라 , " End If If chkGreen.Value = 1 Then DispText = DispText & " 녹색 , " End If MsgBox DispText End Sub

Page 57: Chap 3.  컨트롤 배우기  1

- 57 -

cmdExit cmdExit 이벤트 핸들러 작성 이벤트 핸들러 작성

프로젝트를 실행 프로젝트를 실행

Private Sub cmdExit_Click() End End Sub

Page 58: Chap 3.  컨트롤 배우기  1

- 58 -

01. 01. 컨트롤이란 컨트롤이란 02. 02. 텍스트박스 컨트롤과 레이블 컨트롤 텍스트박스 컨트롤과 레이블 컨트롤 03. 03. 커맨드버튼 컨트롤 커맨드버튼 컨트롤 04. 04. 프레임 컨트롤 프레임 컨트롤 05. 05. 체크박스 컨트롤과 옵션버튼 컨트롤 체크박스 컨트롤과 옵션버튼 컨트롤 06. 06. 리스트박스 컨트롤과 리스트박스 컨트롤과 콤보박스콤보박스 컨트롤 컨트롤

Page 59: Chap 3.  컨트롤 배우기  1

- 59 -

리스트박스 컨트롤리스트박스 컨트롤 (ListBox Control)(ListBox Control)

리스트박스 컨트롤리스트박스 컨트롤 특징

여러 항목 중 하나 또는 그 이상을 선택하는 경우에 주로 사용다량의 항목을 넣을 때 사용하면 편리 . 리스트 박스 컨트롤 크기보다 많은 양의 항목을 목록에 추가하면 자동으로 스크롤바가 추가됨

리스트박스 컨트롤

Page 60: Chap 3.  컨트롤 배우기  1

- 60 -

주요 속성

Page 61: Chap 3.  컨트롤 배우기  1

- 61 -

리스트 박스의 종류Style 속성을 사용하여 리스트박스 형태 설정

‘0- 표준’ ( 기본값 ) ‘1- 확인란’ : 항목 앞에 체크박스가 표시

리스트박스의 종류리스트박스의 종류

Page 62: Chap 3.  컨트롤 배우기  1

- 62 -

[[ 실습하기실습하기 ] List ] List 속성으로 목록 추가하기속성으로 목록 추가하기

폼에 컨트롤 추가하기폼에 컨트롤 추가하기

Page 63: Chap 3.  컨트롤 배우기  1

- 63 -

각 컨트롤의 속성 설정각 컨트롤의 속성 설정

Ctrl+엔터 키로 여러 항목 입력

Page 64: Chap 3.  컨트롤 배우기  1

- 64 -

프로그램 실행프로그램 실행

Page 65: Chap 3.  컨트롤 배우기  1

- 65 -

AddItem 메소드를 사용하여 항목 추가하기AddItem 메소드

리스트 박스에 항목을 하나 추가하는 메서드 문자열을 추가하면 자동으로 인덱스 번호 부여첫 번째 항목의 인덱스 번호는 0 이고 항목이 추가될 때마다 자동으로 1씩 증가 . 구문 형식

인덱스를 생략하면 가장 마지막에 추가인덱스 번호가 항목의 중간인 경우 다른 항목들이 뒤로 이동됨

객체명 .AddItem 추가할 항목 [, 인덱스 ]

Page 66: Chap 3.  컨트롤 배우기  1

- 66 -

[[ 실습하기실습하기 ] AddItem ] AddItem 메소드 사용하기 메소드 사용하기

폼에 컨트롤 추가하기폼에 컨트롤 추가하기

[[ 보기보기 ]->[]->[ 코드코드 ]] 메뉴 또는 프로젝트 그룹 창에서 메뉴 또는 프로젝트 그룹 창에서 코드 코드 보기보기 ( )( ) 아이콘을 클릭하여 코드 편집 창 표시아이콘을 클릭하여 코드 편집 창 표시

코드보기

Page 67: Chap 3.  컨트롤 배우기  1

- 67 -

[[ 개체개체 ] ] 목록에서 “목록에서 “ Form", [Form", [ 이벤트이벤트 ] ] 목록에서 ”목록에서 ” Load" Load" 이벤트를 선택하여이벤트를 선택하여 , "Form_Load" , "Form_Load" 이벤트 핸들러 생성이벤트 핸들러 생성 ..

개체 선택

생성된 이벤트 핸들러

Page 68: Chap 3.  컨트롤 배우기  1

- 68 -

Form_Load Form_Load 이벤트 핸들러 작성이벤트 핸들러 작성

프로젝트를 실행프로젝트를 실행

Private Sub Form_Load() List1.AddItem " 홍길동 " List1.AddItem " 홍길순 " List1.AddItem "이몽룡 " List1.AddItem "성춘향 " List1.AddItem " 월매 " List1.AddItem "향단이 " End Sub

Page 69: Chap 3.  컨트롤 배우기  1

- 69 -

여러 항목 선택하기MultiSelect 프로퍼티나 Style 프로퍼티 이용MultiSelect 속성 이용하기

Multiselect 속성하나 이상의 항목을 선택하기 위해 사용

0- 없음 1- 단순형 2-확장형

MultiSelect 속성

Page 70: Chap 3.  컨트롤 배우기  1

- 70 -

Style 속성 이용하기리스트 박스의 스타일 지정프로퍼티 값이 1 인 경우 아이템 좌측에 사각형의 확인란이 생김 . 리스트 박스의 스타일

값 설명

0 – 표준 ( 기본값 ) 표준 형태

1 - 확인란 좌측에 확인란 표시

Style 프로퍼티를 1 로 설정하면 MultiSelect 프로퍼티는 0 으로 설정해야 한다 .

다중 선택 모드에서는 Selected 프로퍼티 ( 아이템의수를 인덱스로 가지는 논리형 배열 ) 가 의미를 가짐

Page 71: Chap 3.  컨트롤 배우기  1

- 71 -

Style 프로퍼티를 1- 확인란으로 설정한 리스트 박스

Page 72: Chap 3.  컨트롤 배우기  1

- 72 -

선택한 항목 출력하기Private Sub Command1_Click() List1.AddItem Text1 Text1.SetFocus Text1.Text = ""End Sub

Private Sub Command2_Click() MsgBox List1.List(List1.ListIndex)End Sub

Page 73: Chap 3.  컨트롤 배우기  1

- 73 -

RemoveItem 메소드로 목록 제거하기리스트 박스에서 선택한 항목을 하나 제거하는 메서드 리스트 박스 컨트롤에서 선택한 항목을 제거하기 위해서는 선택한 항목에 대한 인덱스 값 필요 .

선택 항목에 대한 인덱스 -> ListIndex 속성 이용

구문 형식

인덱스는 제거할 목록의 위치 의미선택한 항목이 목록으로부터 제거되면 그 이후 항목들의 인덱스는 모두 한 칸씩 앞으로 이동하게 됨 인덱스는 생략 할 수 없음

객체명 .RemoveItem 인덱스

Page 74: Chap 3.  컨트롤 배우기  1

- 74 -

[[ 실습하기실습하기 ] RemoveItem ] RemoveItem 메소드 이용하기메소드 이용하기

폼에 컨트롤 추가하기 폼에 컨트롤 추가하기

cmdDelete cmdDelete 이벤트 핸들러 작성이벤트 핸들러 작성

리스트박스 컨트롤Name 속성 : List1

폼 컨트롤Name 속성 : Form1

커맨드버튼 컨트롤Name 속성 : cmdDeleteCaption 속성 : 항목 삭제하기

Private Sub cmdDelete_Click() List1.RemoveItem (List1.ListIndex) End Sub

Page 75: Chap 3.  컨트롤 배우기  1

- 75 -

프로그램 실행하기프로그램 실행하기

Page 76: Chap 3.  컨트롤 배우기  1

- 76 -

콤보박스 컨트롤콤보박스 컨트롤 (ComboBox Control) (ComboBox Control)

콤보 박스 컨트롤콤보 박스 컨트롤 특징

리스트 박스 컨트롤과 마찬가지로 여러 항목들 중 하나 또는 그 이상을 선택하는 경우에 사용 리스트 박스의 확장이나 텍스트 박스와 리스트 박스를 합한 형태로 사용 가능

콤보박스 컨트롤

Page 77: Chap 3.  컨트롤 배우기  1

- 77 -

주요 속성

Page 78: Chap 3.  컨트롤 배우기  1

- 78 -

콤보 박스 스타일드롭다운 콤보 , 단순 콤보 , 드롭다운 목록

값 설명0 – 늘어진 콤보 텍스트 박스 + 드롭다운 버튼 + 리스트 박스1 – 단순 콤보 텍스트 박스 + 리스트 박스2 – 늘어진 목록 드롭다운 버튼 + 리스트 박스

콤보 박스의 스타일

Page 79: Chap 3.  컨트롤 배우기  1

- 79 -

[[ 실습하기실습하기 ] ] 항목 찾기항목 찾기

폼에 컨트롤 추가하기 폼에 컨트롤 추가하기

콤보

lstSelected

Page 80: Chap 3.  컨트롤 배우기  1

- 80 -

이벤트 핸들러 작성 이벤트 핸들러 작성

Private Sub Form_Load() ‘과목 리스트 항목 추가 cboLesson.AddItem " 교양국어 " cboLesson.AddItem " 교양영어 " cboLesson.AddItem " 컴퓨터 " cboLesson.AddItem "인터넷 "

cboLesson.AddItem "프로그래밍기초 " cboLesson.AddItem " 환경과 생활 " cboLesson.AddItem " 결혼과 가족 "

‘선택 과목 항목 초기화‘ lstSelected.Clear ‘레이블 초기화

lblDisp.Caption = "" End Sub

Form_Load Form_Load 이벤트 핸들러이벤트 핸들러

Page 81: Chap 3.  컨트롤 배우기  1

- 81 -

Private Sub cmdSelectedInsert_Click() lstSelected.AddItem cboLesson.List(cboLesson.ListIndex) lblDisp.Caption = cboLesson.List(cboLesson.ListIndex) & _ "가 추가되었습니다 ." End Sub

““ 선택 과목에 추가” 버튼의 선택 과목에 추가” 버튼의 Click Click 이벤트 이벤트

Private Sub cmdSelectedtDelete_Click() lblDisp.Caption = lstSelected.List(lstSelected.ListIndex) & _

"가 삭제되었습니다 ." lstSelected.RemoveItem lstSelected.ListIndex End Sub

““ 선택 과목에 삭제” 버튼의 선택 과목에 삭제” 버튼의 Click Click 이벤트 이벤트

Page 82: Chap 3.  컨트롤 배우기  1

- 82 -

프로그램 실행프로그램 실행

Private Sub cmdExit_Click() End End Sub

““ 종료” 버튼의 이벤트 핸들러 종료” 버튼의 이벤트 핸들러