Chap 3. 컨트롤 배우기 1

Download Report

Transcript Chap 3. 컨트롤 배우기 1

Chap 3. 컨트롤 배우기 1
-1-
01. 컨트롤이란
02. 텍스트박스 컨트롤과 레이블 컨트롤
03. 커맨드버튼 컨트롤
04. 프레임 컨트롤
05. 체크박스 컨트롤과 옵션버튼 컨트롤
06. 리스트박스 컨트롤과 콤보박스 컨트롤
-2-
컨트롤이란
컨트롤(Control)
 폼 개체에 포함되는 시각화된 개체.
각 컨트롤은 목적에 맞게 자체의 속성, 메소드, 이벤트를 가지
고 있음.
종류
기본 컨트롤
윈도우나 내부 기능 등을 제어하기 위한 기본 컨트롤
Activex 컨트롤(Custom Control)
사용자가 직접 제작해 사용하는 컨트롤
 이벤트 핸들러
컨트롤에 대한 반응 방법을 정의한 이벤트 핸들러(Event
Handler)를 이용하여 각 컨트롤의 동작을 정의.
-3-
기본 컨트롤
비주얼 베이직 6.0 기본 컨트롤
마우스 포인터(Mouse Pointer)
픽처박스(PictureBox)
레이블 (Label)
텍스트 박스(TextBox)
프레임(Frame)
커맨드 버튼(CommandBotton)
체크 박스(Check Box)
옵션 버튼(Option Button)
콤보 박스(Combo Box)
리스트 박스(ListBox)
수평 스크롤바(Horizontal Scroll Bar)
수직 스크롤바(Vertical Scroll Bar)
디렉토리 리스트 박스(Directory List Box)
드라이브 리스트 박스(Drive List Box)
타이머 (Timer)
파일 리스트 박스(File List Box)
도형 (Shape)
선 (Line)
이미지 (Image)
데이터 컨트롤(Data Control)
-4-
윈도우 구성 요소 컨트롤
모양
이름
설명
픽처박스
(Picture Box)
그래픽 메서드를 가지고 있는 컨트롤
API의 DC(Device Context)를 개체화 시킨 것
레이블
(Label)
레이블 표시
API의 Static 윈도우에 해당
텍스트 박스
(Text Box)
텍스트를 쓰고 편집할 수 있도록 함
API의 Edit 윈도우에 해당
프레임
(Frame)
컨트롤들을 모아서 관리
API의 윈도우 스타일 Group에 해당
-5-
모양
이름
설명
커맨드 버튼
(Command Button)
클릭해서 명령을 내릴 수 있는 버튼 모양 컨트롤
API의 Button 윈도우에 해당
체크 박스
(Check Box)
On/Off 중 한가지 상태를 가지는 컨트롤
API의 Button윈도우중 CheckBox 스타일에 해당
옵션 버튼
(Option Button)
On/Off 중 한가지 상태를 가지는 컨트롤이지만 현재
프레임안에 있는 옵션 버튼 중에서 하나만 On이 될
수 있다.
API의 Button윈도우중 Radio Button 스타일에 해당
콤보 박스
(Combo Box)
텍스트박스와 리스트 박스를 하나로 합한 컨트롤
API의 Combo Box 윈도우에 해당
리스트 박스
(List Box)
여러 개의 텍스트 중 하나 이상을 선택할 수 있다.
API의 List Box 윈도우에 해당
수평스크롤바
(HScroll Bar)
수평 방향 스크롤바
API의 ScrollBar 윈도우중 Horiz 스타일에 해당
수직스크롤바
(VScroll Bar)
수직 방향 스크롤바
API의 ScrollBar 윈도우중 Vert 스타일에 해당
타이머(Timer)
일정시간마다 자동으로 타이머이벤트 발생컨트롤
-6-
-7-
-8-
파일 컨트롤
파일명이나 디렉토리를 나열해주는 컨트롤
모양
이름
설명
드러이브 리스트 박스
(Drive List Box)
디스크 드라이브 목록을 나타내는 리스트 박스
디렉토리 리스트 박스
(Directory List Box)
디렉토리 목록을 나타내는 리스트 박스
파일 리스트 박스
(File List Box)
현 디렉토리의 파일 내용을 나타내는 리스트 박스
-9-
그래픽 컨트롤
모양
이름
설명
도형(Shape)
원, 타원, 사각형 등의 기본 도형을 그림
선 (Line)
양 끝점을 잇는 직선을 그림
이미지 (Image)
이미지 표시, 비트맵 이미지만을 표시
데이터베이스 컨트롤
모양
이름
데이터 컨트롤
(Data Control)
설명
데이터베이스 열기, 검색, 삽입/삭제/갱신, 종료등의
작업 수행
- 10 -
속성, 메소드, 이벤트
풍선.길이
풍선.핀으로콕찌르기
풍선.바람빠지기
풍선.색
풍선.뻥소리내기
풍선.높이
풍선의 속성
풍선의 이벤트
- 11 -
풍선의 메서드
속성 (Property)
각 컨트롤의 특징을 결정하는 요소.
텍스트박스 컨트롤의 경우 텍스트 박스에 쓸 내용이나 위치,
크기 등이 모두 속성에 해당.
속성 편집
각 컨트롤의 속성 상태나 편집은 속성 창을 사용하거나 코드
편집 창에서 가능하다.
- 12 -
 사전순(좌)과 항목순 나열 속성 창
- 13 -
실습 : 폼의 Caption 속성 설정하기
1
2
폼 선택하기
Caption 속성 변경
- 14 -
속성 설정
 디자인-타임 에디팅(Design-Time Editing)
속성 창을 이용하여 편집
Name 속성, Index 속성, Appearance 속성
 런-타임 에디팅(Run-Time Editing)
코드 편집 창을 사용하여 설정
 대부분은 디자인-타임과 런-타임 모두에서 편집 가능
Backcolor/ForeColor 속성
backcolor는 컨트롤의 배경색을, Forecolor은 컨트롤의 텍스트나
그래픽을 표현하는 데 사용
코드 편집 창에서의 구문형식
[컨트롤 이름.]BackColor [= 색상 값]
[컨트롤 이름.]ForeColor [= 색상 값]
- 15 -
MousePointer 속성
런-타임 시 컨트롤 위에 마우스가 위치하고 있을 때의 마우스의
모양을 설정하는 속성
윈도우에서 제공하는 커서와 사용자 정의 마우스 커서도 사용
코드 편집 창에서의 구문 형식
[컨트롤 이름.]MousePointer [= 값]
- 16 -
- 17 -
Font 속성
글자를 사용하는 컨트롤의 글꼴 및 크기 등을 지정하는 속성
폰트의 속성은 서로 배타적이므로 중복하여 설정 가능
코드 편집 창에서의 구문 형식
[컨트롤.]Font [ = 폰트 ]
[컨트롤.]Font.Name [ = 문자열 ]
[컨트롤.]Font.Bold [ = True/False ]
[컨트롤.]Font.Size [ = 값 ]
[컨트롤.]Font.Italic [ = True/False ]
[컨트롤.]Font.StrikeThrough [ = True/False]
[컨트롤.]Font.Underline [ = True/False]
[컨트롤.]Font.Weight [ = 값]
- 18 -
메소드(Method)
정의
개체에 포함된 고유한 동작을 의미
서브루틴/함수와 달리 하나의 개체를 대상으로 함
비주얼 베이직에서의 메소드 역시 어떤 기능을 수행하는 것으
로, 컨트롤이 이미 가지고 있는 여러 함수를 메소드라 함.
예 : SetFocus 메소드
입력 포커스를 이동할 수 있게 해주는 메소드
코드 편집 창에서 사용하는 구문 형식
[컨트롤 이름.]SetFocus
- 19 -
[실습하기] SetFocus 메서드 사용하기
 폼 위에 텍스트박스 컨트롤 추가.
- 20 -
 왼쪽에 있는 텍스트박스 컨트롤(Text1)을 더블클
릭하여 코드 편집 창이 표시
 이벤트 목록 콤보박스에서 KeyPress 이벤트를 선
택
- 21 -
 KeyPress 이벤트 핸들러에 코드 추가.
If keyAscii = vbKeyReturn Then
Text2.SetFocus
End If
 프로그램을 실행하고 Text1 텍스트박스 컨트롤
에서 엔터 키를 입력.
포커스 이동
- 22 -
이벤트(Event)
 마우스나 키를 누르는 것과 같은 사용자의 동작을 통
하거나 프로그램 컨트롤을 통해서 또는 다른 창의 작
동 결과를 통해서 발생하는 사건.
풍선의 공기 빼기 → 공기가 빠지는 이벤트 발생
- 23 -
[실습하기] 삑~ 소리내기
 폼 위에 커맨드버튼을 하나 배치하고 코드 편집
창 표시
- 24 -
 코드 편집 창의 왼쪽 콤보박스에서 Command1
을 선택한 후 오른쪽 콤보박스에서 이벤트를 선
택한다.
- 25 -
 다음과 같이 Beep 라는 코드를 추가한 후 프로
그램을 실행해 버튼을 클릭하면 삑~ 소리가 나
는지 확인해보자.
- 26 -
컨트롤 이름 작성 규칙
헝가리안 표기법
간단히 각 컨트롤을 생성할 때 컨트롤에 따른 예약 접
두어를 앞에 붙여주면 된다.
예약 접두어
의미
예약접두어
의미
ani-
Animation Button
img-
Image
chk-
CheckBox
lbl-
Label
cmd-
Command Button
lin-
Line
dir-
DirectoryList Box
lst-
ListBox
dlg-
Common Dialog
mnu-
Menu
drv-
DriveList Box
opt-
Option Button
fil-
FileList Box
pic-
Picture
frm-
Form
txt-
TextBox
fra-
Frame
 비주얼베이직 컨트롤의 명명법
- 27 -
 비주얼베이직 컨트롤의 명명법 예
- 28 -
01.
02.
03.
04.
05.
06.
07.
컨트롤이란
텍스트박스 컨트롤과 레이블 컨트롤
커맨드버튼 컨트롤
프레임 컨트롤
체크박스 컨트롤과 옵션버튼 컨트롤
리스트박스 컨트롤과 콤보박스 컨트롤
요약
- 29 -
텍스트박스 컨트롤(Textbox Control)
텍스트박스 컨트롤
특징
문자열이나 숫자 형태의 값을 사용자가 입력하는 경우 사용
여러 줄의 문자열을 입력 가능
입력하는 문자열이 컨트롤의 범위를 넘어가는 경우 스크롤 가
능
텍스트박스 안에 입력되는 문자열의 크기는 최대 2,048자
- 30 -
 주요 속성
속성
초기값
설명
Alignment
0-왼쪽맞춤 텍스트 박스에 입력한 문자열의 위치 설정
BorderStyle
1-단일고정
테두리 모양 설정, 초기값은 테두리가 3D 형태인 단일
고정임
False
텍스트박스 안의 내용 편집이 가능하도록 할 것인지를
설정, False이면 편집 가능
0
텍스트박스 안의 최대 문자열의 길이 설정, 32KB까지
의 문자열 입력 가능
MultiLine
False
텍스트박스 안에서 여러 줄의 문자열 입력이 가능하도
록 할 것인지를 설정, True이면 여러 줄의 문자열 사용
가능
PassWordChar
없음
텍스트박스 안에 입력된 문자열 대신 화면에 출력하는
문자로 주로 암호를 입력하는 프로그램에서 사용
Text
Text1
텍스트박스에 입력되어 있는 문자열을 나타내는 속성
Locked
MaxLength
ScrollBars
0-없음
수평, 수직, 양방향 스크롤 바를 텍스트박스에 보이도록
할 것인지를 설정, MultiLine 속성이 False로 설정되어
있는 경우에는 변화 없음
- 31 -
주요 이벤트와 메서드
종류
이벤
트
메소
드
목록
Move
SetFocus
설명
텍스트박스 컨트롤의 폼에서의 위치 설정
텍스트박스 컨트롤에 포커스를 주기 위해 사용
Zorder
텍스트박스 컨트롤의 Z-순서를 설정
Change
텍스트 속성의 값을 변경했을 경우 발생하는 이벤트
Click
텍스트박스 컨트롤을 마우스로 클릭하는 경우 발생하는 이벤트
DblClick
텍스트박스 컨트롤을 마우스로 더블클릭하는 경우 발생하는 이
벤트
KeyPress
텍스트박스 컨트롤이 포커스를 가진 상태에서 특수키(Alt, Ctrl,
Shift 키) 이외의 키를 눌렀을 때 발생하는 이벤트
- 32 -
[실습하기] 입력된 암호 검사하기1
 폼 위에 컨트롤을 배치하고 속성 설정


번호
컨트롤 종류

폼

텍스트박스
컨트롤 이름
frmPassword
SetFocus
txtPassword
설명
Caption = "암호 입력하기“
StartUpPosition = 2-화면 가운데
Text = " "
- 33 -
 코드 편집 창을 표시하고, 컨트롤(Text1)과
KeyPress 이벤트를 선택.
 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
- 34 -
 프로그램을 실행하고 텍스트박스에 암호 입력
 ‘good’를 입력한 경우
 다른 문자열을 입력한 경우
- 35 -
레이블 컨트롤(Label Control)
레이블 컨트롤
특징
레이블 컨트롤은 텍스트박스 컨트롤과 달리 프로그램 실행 중
에 포커스를 가지지 못하고,
문자열이나 숫자를 폼에 보여주는 컨트롤로 단순히 문자열을
출력
주요 속성
- 36 -
[실습하기] Font 속성으로 글꼴 바꾸기
 폼 위에 레이블 컨트롤을 배치한 후 Caption 속성
을 ‘비주얼베이직 알기!!’로 변경.
- 37 -
 Font 속성의 오른쪽에 있는 버튼( )을 클릭. 글꼴
대화상자에서 글꼴, 글꼴 유형, 크기 등을 변경
- 38 -
 ‘확인(OK)’ 버튼 눌러 레이블의 글꼴이 변경되었
는지 확인.
- 39 -
01. 컨트롤이란
02. 텍스트박스 컨트롤과 레이블 컨트롤
03. 커맨드버튼 컨트롤
04. 프레임 컨트롤
05. 체크박스 컨트롤과 옵션버튼 컨트롤
06. 리스트박스 컨트롤과 콤보박스 컨트롤
- 40 -
커맨드버튼 컨트롤(CommandButton Control)
커맨드버튼 컨트롤
특징
프로그램에 응답하거나 사용자가 마우스로 커맨드버튼을 클
릭했을 때 특정한 작업을 수행하거나 취소하도록 지시하는 데
주로 사용.
Default로 저장된 버튼
처음 폼이 활성화되었을 때 특정 컨트롤이 기본적으로 포커스를 가지도록 할 수 있
는데 이를 위해 Default 속성이 사용된다. Default 속성이 True로 설정되면 폼이 활성
화될 때 자동으로 포커스를 가진다
- 41 -
주요 속성 및 이벤트, 메소드
- 42 -
버튼에 비트맵 삽입하기
Picture 속성을 이용하여 사용할 비트맵 파일을 지정
커맨드버튼에 삽입할 수 있는 이미지 종류
비트맵(Bitmap), 아이콘(Icon), 메타파일(Metafile), GIF, JPG 등
커맨드버튼에 비트맵을 입히기 위하여 주로 사용되는 속성
Style
Picture
DisabledPicture
DownPicture
 각 속성의 특징
- 43 -
[실습하기] 버튼에 그림넣기
 폼에 커맨드 버튼 추가하고 속성 변경.
- 44 -
 picture 속성을 선택하고 파일 선택 버튼( )을 눌
러 [그림 로드] 대화상자를 표시하고 그림 선택
- 45 -
 Style 속성을 '1-그래픽'으로 변경
- 46 -
 커맨드버튼을 클릭하면 메시지상자가 출력되도
록 Click 이벤트 프로시저를 작성
Private Sub cmdPic_Click()
MsgBox "커맨드 버튼에 그림을 넣었군요!. "
End Sub
 프로그램을 실행하고 커맨드버튼을 클릭하여 메
시지상자 표시.
- 47 -
01. 컨트롤이란
02. 텍스트박스 컨트롤과 레이블 컨트롤
03. 커맨드버튼 컨트롤
04. 프레임 컨트롤
05. 체크박스 컨트롤과 옵션버튼 컨트롤
06. 리스트박스 컨트롤과 콤보박스 컨트롤
- 48 -
프레임 컨트롤(Frame Control)
프레임 컨트롤
특징
역할
컨트롤들을 임의의 기준에 대해 분류하여 시각적인 효과를 주거
나
컨트롤을 그룹 단위로 묶여주는 역할을 함.
다른 컨트롤을 그 안에 포함시킬 수 있음
포함된 컨트롤은 자식 컨트롤이 되고 프레임 컨트롤은 부모 컨
트롤이 됨.
부모 컨트롤인 프레임 컨트롤을 이동하면 안에 포함된 자식 컨
트롤도 함께 움직이며 자식 컨트롤은 프레임 컨트롤 밖으로는
이동할 수 없음.
프레임 컨트롤
- 49 -
 부모 컨트롤과 자식 컨트롤의 생성 순서
자식 컨트롤이 부모 컨트롤 안에 포함되어져야 하기 때문에 당연히 부모 컨트롤이
먼저 만들어지고 그 위에 자식 컨트롤들을 배치해야 한다.
- 50 -
01. 컨트롤이란
02. 텍스트박스 컨트롤과 레이블 컨트롤
03. 커맨드버튼 컨트롤
04. 프레임 컨트롤
05. 체크박스 컨트롤과 옵션버튼 컨트롤
06. 리스트박스 컨트롤과 콤보박스 컨트롤
- 51 -
체크박스 컨트롤과 옵션버튼 컨트롤
체크박스 컨트롤과 옵션버튼 컨트롤
 특징
같은 그룹 안에 있는 항목을 선택하기 위해 사용하는 컨트롤
참/거짓 중 한 가지 상태만을 가질 수 있음.
체크박스(CheckBox) 컨트롤
옵션버튼(OptionButton) 컨트롤
체크박스 컨트롤과 옵션버튼 컨트롤의 특징
- 52 -
주요 속성
- 53 -
[실습하기] 설문조사하기
 폼에 컨트롤 추가하기










11
12
13
14
- 54 -
 각 컨트롤의 속성 설정
 cmdDisp 버튼의 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
- 55 -
'좋아하는 색을 넣는다.
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
- 56 -
 cmdExit 이벤트 핸들러 작성
Private Sub cmdExit_Click()
End
End Sub
 프로젝트를 실행
- 57 -
01. 컨트롤이란
02. 텍스트박스 컨트롤과 레이블 컨트롤
03. 커맨드버튼 컨트롤
04. 프레임 컨트롤
05. 체크박스 컨트롤과 옵션버튼 컨트롤
06. 리스트박스 컨트롤과 콤보박스 컨트롤
- 58 -
리스트박스 컨트롤(ListBox Control)
리스트박스 컨트롤
특징
여러 항목 중 하나 또는 그 이상을 선택하는 경우에 주로 사용
다량의 항목을 넣을 때 사용하면 편리.
리스트 박스 컨트롤 크기보다 많은 양의 항목을 목록에 추가
하면 자동으로 스크롤바가 추가됨
리스트박스 컨트롤
- 59 -
주요 속성
- 60 -
리스트 박스의 종류
Style 속성을 사용하여 리스트박스 형태 설정
‘0-표준’(기본값)
‘1-확인란’ : 항목 앞에 체크박스가 표시
리스트박스의 종류
- 61 -
[실습하기] List 속성으로 목록 추가하기
 폼에 컨트롤 추가하기
- 62 -
 각 컨트롤의 속성 설정
Ctrl+엔터 키로 여러 항목 입력
- 63 -
 프로그램 실행
- 64 -
 AddItem 메소드를 사용하여 항목 추가하기
AddItem 메소드
리스트 박스에 항목을 하나 추가하는 메서드
문자열을 추가하면 자동으로 인덱스 번호 부여
첫 번째 항목의 인덱스 번호는 0이고 항목이 추가될 때마다 자동
으로 1씩 증가.
구문 형식
객체명.AddItem 추가할 항목 [, 인덱스]
인덱스를 생략하면 가장 마지막에 추가
인덱스 번호가 항목의 중간인 경우 다른 항목들이 뒤로 이동됨
- 65 -
[실습하기] AddItem 메소드 사용하기
 폼에 컨트롤 추가하기
 [보기]->[코드] 메뉴 또는 프로젝트 그룹 창에서 코드
보기( ) 아이콘을 클릭하여 코드 편집 창 표시
코드보기
- 66 -
 [개체] 목록에서 “Form", [이벤트] 목록에서 ”Load" 이
벤트를 선택하여, "Form_Load" 이벤트 핸들러 생성.
개체 선택
생성된
이벤트 핸들러
- 67 -
 Form_Load 이벤트 핸들러 작성
Private Sub Form_Load()
List1.AddItem
"홍길동"
List1.AddItem
"홍길순"
List1.AddItem
"이몽룡"
List1.AddItem
"성춘향"
List1.AddItem
"월매"
List1.AddItem
"향단이"
End Sub
 프로젝트를 실행
- 68 -
여러 항목 선택하기
MultiSelect 프로퍼티나 Style 프로퍼티 이용
MultiSelect 속성 이용하기
Multiselect 속성
하나 이상의 항목을 선택하기 위해 사용
MultiSelect
속성
0-없음
1-단순형
2-확장형
- 69 -
Style 속성 이용하기
리스트 박스의 스타일 지정
프로퍼티 값이 1인 경우 아이템 좌측에 사각형의 확인란이 생김.
리스트 박스의 스타일
값
설명
0 – 표준(기본값)
표준 형태
1 - 확인란
좌측에 확인란 표시
Style 프로퍼티를 1로 설정하면
MultiSelect 프로퍼티는 0으로 설정해야 한다.
다중 선택 모드에서는 Selected 프로퍼티 (아이템의
수를 인덱스로 가지는 논리형 배열)가 의미를 가짐
- 70 -
Style 프로퍼티를 1-확인란
으로 설정한 리스트 박스
- 71 -
 선택한 항목 출력하기
Private Sub Command1_Click()
List1.AddItem Text1
Text1.SetFocus
Text1.Text = ""
End Sub
Private Sub Command2_Click()
MsgBox List1.List(List1.ListIndex)
End Sub
- 72 -
RemoveItem 메소드로 목록 제거하기
리스트 박스에서 선택한 항목을 하나 제거하는 메서드
리스트 박스 컨트롤에서 선택한 항목을 제거하기 위해서는 선
택한 항목에 대한 인덱스 값 필요.
선택 항목에 대한 인덱스 -> ListIndex 속성 이용
구문 형식
객체명.RemoveItem
인덱스
인덱스는 제거할 목록의 위치 의미
선택한 항목이 목록으로부터 제거되면 그 이후 항목들의 인덱스
는 모두 한 칸씩 앞으로 이동하게 됨
인덱스는 생략 할 수 없음
- 73 -
[실습하기] RemoveItem 메소드 이용하기
 폼에 컨트롤 추가하기
폼 컨트롤
Name 속성 : Form1
리스트박스 컨트롤
Name 속성 : List1
커맨드버튼 컨트롤
Name 속성 : cmdDelete
Caption 속성 : 항목 삭제하기
 cmdDelete 이벤트 핸들러 작성
Private Sub cmdDelete_Click()
List1.RemoveItem (List1.ListIndex)
End Sub
- 74 -
 프로그램 실행하기
- 75 -
콤보박스 컨트롤(ComboBox Control)
콤보 박스 컨트롤
특징
리스트 박스 컨트롤과 마찬가지로 여러 항목들 중 하나 또는
그 이상을 선택하는 경우에 사용
리스트 박스의 확장이나 텍스트 박스와 리스트 박스를 합한
형태로 사용 가능
콤보박스 컨트롤
- 76 -
주요 속성
- 77 -
콤보 박스 스타일
드롭다운 콤보, 단순 콤보, 드롭다운 목록
콤보 박스의 스타일
값
설명
0 – 늘어진 콤보
텍스트 박스 + 드롭다운 버튼 + 리스트 박스
1 – 단순 콤보
텍스트 박스 + 리스트 박스
2 – 늘어진 목록
드롭다운 버튼 + 리스트 박스
- 78 -
[실습하기] 항목 찾기
 폼에 컨트롤 추가하기








콤보
lstSelected
- 79 -

 이벤트 핸들러 작성
Form_Load 이벤트 핸들러
Private Sub Form_Load()
‘과목 리스트 항목 추가
cboLesson.AddItem "교양국어"
cboLesson.AddItem "교양영어"
cboLesson.AddItem "컴퓨터"
cboLesson.AddItem "인터넷"
cboLesson.AddItem "프로그래밍기초"
cboLesson.AddItem "환경과 생활"
cboLesson.AddItem "결혼과 가족"
‘선택 과목 항목 초기화‘
lstSelected.Clear
‘레이블 초기화
lblDisp.Caption = ""
End Sub
- 80 -
“선택 과목에 추가” 버튼의 Click 이벤트
Private Sub cmdSelectedInsert_Click()
lstSelected.AddItem cboLesson.List(cboLesson.ListIndex)
lblDisp.Caption = cboLesson.List(cboLesson.ListIndex) & _
"가 추가되었습니다."
End Sub
“선택 과목에 삭제” 버튼의 Click 이벤트
Private Sub cmdSelectedtDelete_Click()
lblDisp.Caption = lstSelected.List(lstSelected.ListIndex) & _
"가 삭제되었습니다."
lstSelected.RemoveItem lstSelected.ListIndex
End Sub
- 81 -
“종료” 버튼의 이벤트 핸들러
Private Sub cmdExit_Click()
End
End Sub
 프로그램 실행
- 82 -