115
2비주얼베이직 6.0 프로그램 시작하기

2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

Embed Size (px)

Citation preview

Page 1: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2장 비주얼베이직 6.0 프로그램 시작하기

Page 2: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-1 비주얼베이직 6.0 프로그램의 작성단계

비주얼베이직에서의 프로그램은 일련의 두가지 단계를 거치면서 프로그램을 작성 첫 단계인 시각적 단계에서는 화판에 그림을 그리듯이 폼위에 여러 컨트롤들을 하나씩 올려놓고 이렇게 올려놓은 컨트롤에 자기 마음에 드는 색상(속성)을 지정

두 번째 단계로 하는 일을 지정을 하는 것이 직접 프로그램을 작성하기 위한 코드 프로그래밍 단계

<처리 순서> 시각적 프로그래밍 단계

폼과 컨트롤을 배치하기(모양 꾸미기) 폼과 컨트롤의 속성 지정하기

코드 프로그래밍 단계 폼과 컨트롤에 코드 연결하기

Page 3: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-2 프로젝트 만들기

프로젝트란 비주얼베이직 프로그램을 작성하면서 동일한 목적으로 생성되는 폼과 컨트롤 그리고 코드를 포함한 여러 파일들의 유기적인 집합

vbp라는 확장자를 가진다. “새 프로젝트” 대화 상자에서 “표준 EXE”를 선택했을 때의 화면

Page 4: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-2 프로젝트 만들기

프로젝트 이름은 우리가 프로그램을 작성했을 때 그 프로그램이 어떤 프로그램인지를 알 수 있도록 지정

메뉴바에서 [파일] 메뉴를 선택한 후 [프로젝트를 다른 이름으로 저장]을 선택하면 폼(Form) 이름을 지정하기 위한 대화상자가 나온다.

[파일 이름]의 입력상자에 폼(Form) 이름을 입력하여 지정한 후 [저장] 단추를 눌러서 저장

Page 5: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-2 프로젝트 만들기

폼 파일은 frm이라는 확장자를 가지면서 저장 폼(Form) 이름을 지정하고 나면 다음으로 프로젝트 이름을 물어보는

대화상자가 나타남 프로젝트 이름을 지정하고 [저장] 단추를 클릭해서 저장

프로젝트 파일은 vbp라는 확장자를 가지며 비주얼베이직이 프로젝

트를 구성하는데 필요한 각종 정보들을 포함

Page 6: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

컨트롤 기본 컨트롤의 종류

컨트롤 편집 마우스 포인터 (Pointer)

컨트롤을 편집할 때 사용 별도의 컨트롤이 선택되지 않았을 때 선택되어 있는, 일종의 가상(dummy) 컨트롤

데이터 컨트롤 (Data Control) 데이터 베이스의 열기, 검색, 삽입/삭제/갱신, 종료 등의 작업을

수행

윈도우 구성 요소 컨트롤 윈도우의 구성 요소들을 컨트롤 화 시켜 놓은 버튼들 윈도우에서 기본적으로 제공해 주는 윈도우 클래스에 해당하는 것

Page 7: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

컨트롤 기본 컨트롤의 종류

윈도우 구성 요소 컨트롤

픽쳐 박스 (Picturen Box) 그래픽 메소드를 가지고 있는 컨트롤

레이블(Label) 레이블을 표시

텍스트 박스(Text Box) 텍스트를 쓰고 편집할 수 있게 해 준다

프레임(Frame) 관련있는 컨트롤들을 모아서 관리

커맨드 버튼(Command Button) 클릭해서 명령을 내릴 수 있는 버튼 모양의 컨트롤

Page 8: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

컨트롤 기본 컨트롤의 종류

윈도우 구성 요소 컨트롤

체크 박스(Check Box) On/Off 중의 한가지 상태를 갖는 컨트롤

옵션 버튼(Option Button) 현재 프레임 안에 있는 옵션 버튼 중에서는 단 하나만이 On 될 수 있다

콤보 박스(Combo Box) 텍스트 박스와 리스트 박스를 하나로 합쳐 놓은 컨트롤

리스트 박스(List Box) 여러 개의 텍스트 중에 하나 혹은 여러 개를 선택할 수 있도록 해 주는

컨트롤

수평 스크롤 바 (HScroll Bar) 수평 방향의 스크롤 바

Page 9: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

컨트롤 기본 컨트롤의 종류

윈도우 구성 요소 컨트롤

수직 스크롤 바 (VScroll Bar) 수직 방향의 스크롤 바

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

파일 컨트롤

파일명이나 디렉토리 등을 나열해 주는 컨트롤 드라이브 리스트 박스 (Drive List Box)

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

디렉토리 리스트 박스 (Diretory List Box) 디렉토리 목록을 나타내는 리스트 박스

파일 리스트 박스 (File List Box) 현 디렉토리의 파일 내용을 나타내는 리스트 박스

Page 10: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

컨트롤 기본 컨트롤의 종류

그래픽 컨트롤 도형 (Shape)

원, 타원, 사각형 등의 기본 도형

선 (Line) 양 끝점을 잇는 직선

이미지 (image) 이미지를 표시 그래픽 메소드가 없는 대신 메모리를 덜 소모 비트맵 이미지를 표시할 목적이라면 픽쳐 박스보다는 이미지 컨트롤을

사용하는 것이 메모리 절약

Page 11: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

컨트롤 기본 컨트롤의 종류

데이터베이스 컨트롤 데이터베이스 개체(DAO)를 컨트롤화 시킨 것 DB(Database) 프로그램을 작성할 것이라면 이 컨트롤을 잘 활용

OLE 컨트롤 OLE 컨트롤 (OLE)

OLE로 등록된 개체를 삽입 유용성이 많이 퇴색된 컨트롤

Page 12: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

컨트롤의 이름 작성 객체의 이름은 그 객체의 특성을 잘 나타내어 요약 객체의 종류에 따라 다른 접두사를 붙임으로써 객체를 구분 txtName이라는 객체가 있다면 앞의 txt라는 접두사에 의해 텍스트박스이며, 아마도 Name, 즉 이름과 관련된 객체일 것이라는 예상

원하는 이름 컨트롤 종류 명명법에 의한 이름

Test Tel Hello Exit Mountain

이상한_컨트롤

폼 텍스트 박스 레이블

커맨드 버튼 픽쳐 박스 종류 불명

frmTest txtTel lblHello cmdExit picMountain

ctr이상한_컨트롤

Page 13: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

코드윈도우와 오브젝트 브라우저 코드윈도우 (프로그램 작성을 위한 편집기)

코드윈도우는 폼이나 콘트롤을 더블 클릭하면 창이 나타난다. 비주얼베이직의 모듈에 코드를 입력하고, 나타내고, 편집, 수정하는

데 사용되는 편집기 프로그램 편집을 쉽게 하기 위해 왼쪽 상단에 ‘오브젝트박스’를 배

치 코딩하고자하는 오브젝트를 쉽게 선택할 수 있게 구성 오른쪽 리스트박스에는 ‘이벤트 프로시저’박스를 두어 각 오브젝트

의 이벤트에 코딩을 쉽게 할 수 있도록 구성

Page 14: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

코드윈도우와 오브젝트 브라우저 코드윈도우 (프로그램 작성을 위한 편집기)

비주얼베이직은 오브젝트 중심으로 코딩 오브젝트 박스에 나타난 객체이름은 현재 프로시저가 어떤 객체에

대한 것인지를 나타냄 객체에 대한 프로시저인 경우 거의 이벤트 핸들러 오브젝트 박스에 “일반” 혹은 “general”이라는 값이 선택되었다면

현재 코딩중인 프로시저는 일반 프로시저

비주얼베이직은 선택된 오브젝트에 대한 이벤트 중심으로 코딩 오브젝트 박스에 객체가 선택 되었다면, 대상이 되는 객체는 대부분

이벤트 핸들러 프로시저 박스에 “선언” 혹은 “Declaration”이 선택되어 있다면 현

재 코딩 중인 부분은 변수나 상수의 선언부라는 것을 의미

Page 15: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

코드윈도우와 오브젝트 브라우저 오브젝트 브라우저

현재 프로젝트에서 사용가능한 객체타입들이 어떤 메소드와 속성, 그리고 이벤트를 갖는지 한눈에 보여 주는 비주얼베이직의 Add-in 중 하나

F2키를 누르면 오브젝트 브라우저가 나타난다.

Page 16: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

속성(프로퍼티) 속성의 개념

속성(Property)이란 각 컨트롤이 갖는 속성을 의미하며 프로퍼티라고 한다.

텍스트 박스에 쓰여질 내용 등이 텍스트 박스에 있어서는 프로퍼티가 되는 것

컨트롤로서 다른 컨트롤과 구분되는 모든 속성이 프로퍼티가 되는 것

프로퍼티 상태의 조회와 편집의 핵심은 프로퍼티 윈도우 프로퍼티 윈도우는 선택된 컨트롤의 프로퍼티를 알파벳 순, 혹은 항목별로 나열하고, 각각의 종류별로 편리하게 프로퍼티를 편집

Page 17: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

속성(프로퍼티) 속성의 개념

컨트롤의 위치를 나타내는 프로퍼티는 숫자의 값을 가짐 텍스트 박스의 내용과 같은 프로퍼티는 문자열의 형태를 가짐

프로퍼티 편집에 관계된 기능도 비주얼베이직이 버전업을 반복하는 동안 계속해서 발전 색상을 나타내는 프로퍼티를 편집할 때엔 별도의 화면이 나타남 폰트 프로퍼티를 편집할 때엔 폰트를 선택하는 다이얼로그 박스가 나타남

Page 18: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

속성(프로퍼티) 속성의 개념

비트맵 이미지 프로퍼티를 편집할 때엔 비트맵 파일을 고르는 다이얼로그 박스가 나타남

프로퍼티의 편집은 코드로도 가능

프로퍼티 윈도우를 이용해 편집하는 것을 ‘디자인-타임 에디팅(Design-time Editing)’

실행시 코드를 이용해 편집하는 것을 ‘런-타임 에디팅(Run-time Editing)’

Name과 같은 프로퍼티는 디자인-타임에만 편집이 가능 리스트 박스의 ListIndex와 같은 프로퍼티는 런-타임에만 읽고 쓰기가 가능

기본적인 프로퍼티를 파악한 후, 각 컨트롤마다 차이가 나는 프로퍼티만 추가로 파악

Page 19: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

속성(프로퍼티) 속성의 설정

속성은 디자인 타임 중에서 속성 윈도우를 통해서 설정 설정된 속성은 프로그램이 실행 될 때마다 초기값으로 사용

디자인 타임 중에는 다음과 같이 객체 속성값을 설정

객체를 설정 속성 윈도우를 활성화 바꾸기 원하는 속성을 찾는다. 속성 윈도우내에 값을 직접 입력

런타임 중에 객체 속성값을 제어하기 위해서는 문법의 코드 구문을 사용

Page 20: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

속성(프로퍼티) 속성의 설정

종류에 따라서 런타임중에는 읽기만 가능한 속성 Object.Property = Expression 텍스트 박스인 txtMessage에 “Hello, World”를 나타내려면 Text 속

성을 다음과 같이 코딩 txtMessage.Text = "Hello, World!"

런타임 중에 속성값을 알아내는 방법 Variable = Object.Property txtName이라는 텍스트박스의 Text속성에 저장된 내용을

setUserName이라는 변수에 저장 setUserName = txtName.Text

Page 21: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

자주 사용되는 속성의 소개 Name(Design-time Only)

컨트롤의 이름 비주얼베이직 내에선 변수와 같이 취급되기 때문에 변수 이름 정하는 규칙이 그대로 적용

이 프로퍼티는 오직 디자인-타임에만 편집 [컨트롤].Name

Name 프로퍼티는 문자로 시작되어야 하며 최대 40자까지 지정 가능

Index 컨트롤의 배열이 생성되었을 때 그 인덱스를 나타낸다 동일한 이름을 가진 컨트롤을 생성하면 선택적으로 컨트롤 배열을 생성하며 이 인덱스가 0부터 시작하여 차례로 카운트

번호에 해당하는 값은 0부터 32767

Page 22: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

자주 사용되는 속성의 소개 Appearance(Design-time Only)

컨트롤의 시각적인 유형을 결정하는 프로퍼티 런-타임에서는 읽기 전용이 된다. [컨트롤].Apperance [=0/1] Appearance 속성 설정

값 설명

0 평면(Flat). 컨트롤과 폼을 시각적인 효과 없이 그린다.

1(기본값) 3D. 컨트롤을 3차원 효과를 사용하여 그린다.

Page 23: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

자주 사용되는 속성의 소개 ForeColor, BackColor

BackColor는 컨트롤의 배경색을 나타내는 프로퍼티 ForeColor는 컨트롤의 텍스트나 그래픽을 표시하는데 사용되는 색을 나타내는 프로퍼티

[컨트롤].BackColor [= 컬러값] [컨트롤].ForeColor [= 컬러값]

컬러값은 해당 색상의 빨강, 초록, 파랑(=RGB) 값을 포함한 32비트 정수값

도스(DOS)의 기본 바이오스 컬러 16색을 지정한 QBColor() 함수를 사용 가능

컬러값으로 사용될 수 있는 값의 범위는 0에서 16,777,215 (&HFFFFFF)

Page 24: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

자주 사용되는 속성의 소개 DragMode

컨트롤의 Drag&Drop(끌어다 놓기) 동작이 수동인가 자동인가를 설정

[컨트롤].DragMode [=0/1] DragMode를 나타내는 상수값

DragMode가 vbAutomatic으로 설정되었을 때, 컨트롤은 마우스 이벤트에 응답하지 않는다

Drag&Drop 작업을 진행하는 동안, 특정 컨트롤 위에 마우스 포인터가 위치하고 있으면 해당 컨트롤에는 DragOver 이벤트가 발생

컨트롤이 Drag&Drop 작업 중일 때엔 다른 마우스 또는 키보드 이벤트인 KeyDown, KeyPress, KeyUp, MouseDown, MouseMove, MouseUp 을 인식하지 못한다

상수 값 설명

vbManual (기본값) 0 수동:Drag 시작을 위해 컨트롤의 Drag 메소드를 사용해야 한다.

vbAutomatic 1 자동:컨트롤을 드래그하면 자동으로 Drag 작업을 시작한다.

Page 25: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

자주 사용되는 속성의 소개 MousePointer

런-타임 시 컨트롤 위에 마우스가 위치하고 있을 때 나타나는 마우스 포인터 모양

[컨트롤].MousePointer [=값]

마우스 포인터를 나타내는 값

상수 값 설명

vbDefault (기본값) vbArrow vbCrosshair vbIbeam vbIconPointer vbSizePointer vbSizeNESW vbSizeNS vbSizeNWSE vbSizeWE vbUpArrow vbHourglass vbNoDrop

vbArrowHourglass vbArrowQuestion vbSizeAll

vbCustom

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 99

각 컨트롤에 따른 기본 모양 화살표 십자 모양 포인터 I 자 막대 아이콘 (사각형 내의 작은 사각형) 크기(동서남북을 가리키는 4 방향 화살표) NE SW 크기(북동쪽과 남서쪽을 가리키는 화살표) N S 크기(북쪽과 남쪽을 가리키는 화살표) NW SE 크기(북서쪽과 남동쪽을 가리키는 화살표) W E 크기(서쪽과 동쪽을 가리키는 화살표) 위 화살표 모래시계(대기) 놓기 금지 화살표와 모래시계 화살표와 물음표 모든 크기 MouseIcon 속성으로 지정한 사용자 정의 마우스 커서

Page 26: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

자주 사용되는 속성의 소개 TabIndex, TabStop

TabIndex는 [탭키]에 의해 포커스를 가질 수 있는 컨트롤 간의 우선순위

컨트롤이 탭키에 의해 포커스를 가질 수 있는가를 결정 [컨트롤].TabIndex [=값] [컨트롤].TabStop [=True/False]

TabIndex는 적절한 정수값을 입력하는 것으로 끝난다 TabStop 프로퍼티의 설정 값

값 설명

True (기본값) 컨트롤이 탭키에 의해 포커스를 가질 수 있게 한다.

False 탭키에 의해 자신의 차례가 되었음에도 포커스가 자신이 아닌 다음 컨트롤로 지나치게 한다.

Page 27: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

자주 사용되는 속성의 소개 OLEDropMode

컨트롤이 OLE Drop 연산을 하는 방법을 설정 [컨트롤].OLEDropMode [=값]

모드를 설정하는 상수 값

상수 값 설명

vbOLEDropNone (기본값) 0

없음. 해당 컨트롤은 OLE Drop을 적용하지 않으며, 드래그 중인 커서가 이 컨트롤 위로 나타나면 No Drop 커서가 나타난다.

vbOLEDropManual 1 수동. 해당 컨트롤은 OLE Drop 이벤트를 시작하며, 이것은 코드의 OLE Drop 이벤트 핸들러를 발생시킨다.

vbOLEDropAutomatic 2 자동. 해당 컨트롤은 자동으로 OLE Drop를 적용시킨다.

Page 28: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

자주 사용되는 속성의 소개 Enabled

컨트롤이 활성화 될 수 있는가의 여부를 지정 이것이 False이면 포커스를 가질 수 없기 때문에 그림이나 다를 바가 없다

[컨트롤].Enabled [=True/False]

Visible 화면에 컨트롤을 보이는가의 여부를 지정 필요에 따라 이 프로퍼티를 Off 시켜 놓고 선택적으로 표시

[컨트롤].Visible [=True/False]

Font 글자가 있는 컨트롤의 경우에 그 글자의 글꼴을 지정 초기 상태는 'Ms Sans Serif' 이며 글자의 크기는 8로 지정 한글을 쓰려면 적절한 폰트로 바꾸는 것이 좋다.

Page 29: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

자주 사용되는 속성의 소개 Font

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

폰트 컬렉션의 각 프로퍼티는 다음과 같은 의미

프로퍼티 설 명

Bold 글자를 두껍게 한다.

Italic 글자를 약간 기울어지게 한다.

Name 폰트에 해당하는 문자열을 지정한다.

Size 글자의 크기를 조정한다. 최대값은 2048이다.

StrikeThrough 글자의 가운데를 가로지르는 선을 그린다.

Underline 글자의 아래에 선을 그린다.

Weight 폰트의 두께를 조정한다. 보통은 400, Bold는 700의 값을 갖는다.

Page 30: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

메소드 메소드의 개념

메소드(Method; 방법)란 개체에 포함된 고유한 동작을 의미 서브루틴/함수와 흡사하지만 특정한 개체를 대상으로 한다는 점에서 서브루틴/함수와는 구별

개체 이름과 메소드 사이에 ‘.’을 하나 찍어 주는 것

메소드를 호출하는 이름만 차이가 날 뿐, 인수의 전달이라든가 결과값을 얻는 방식은 프로시저/함수와 거의 동일

컨트롤도 개체이기 때문에 각각의 메소드를 가지고 있다

메소드의 작성 메소드는 객체가 액션(Action)이나 일을 수행하도록 하는 방법 메소드를 이용하는 방법은 두가지

메소드가 인자를 가지고 있는가? 메소드가 값을 리턴하는가? 만약 그렇다면 그 값을 사용하기를 원

하는가?

Page 31: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

메소드 메소드의 작성

메소드는 다음의 문법 Object.Method [arg1, arg2, ...]

메소드가 값을 리턴하도록 할 때 인자들을 포함하는 괄호를 사용

폼에 “Hello, World!”라는 말을 나타내는 메소드 form1.print "Hello, World!“

프린터 출력할때 “Hello, World”라는 말을 인쇄하는 메소드 Printer.print "Hello, World!" Printer.EndDoc

Page 32: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

메소드 메소드의 종류

Drag 몇몇 컨트롤(Line, Menu, Shape, Timer 등)을 제외한 컨트롤의 드

래그 작업을 시작하거나 끝내거나, 취소 object.Drag 동작값

동작값에 해당하는 상수

상수 값 설명

vbCancel 0 드래그 작업을 취소한다.

vbBeginDrag 1 드래그를 시작한다.

vbEndDrag 2 드래그를 끝내고 컨트롤을 드롭한다.

Page 33: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

메소드 메소드의 종류

Drag 컨트롤의 DragMode 프로퍼티를 수동(=0)으로 설정했을 경우에만

이 Drag 메소드가 효과 드래그 중에는 마우스 포인터의 모양도 변한다

Move 메소드 컨트롤을 이동 컨트롤의 수평 너비와 수직 폭도 함께 조정할 수 있다

Left, Top, Width, Height 프로퍼티를 동시에 세트하는 메소드

object.Move Left, Top, Width, Height

Move 메소드에서 사용하는 인수의 단위는 ScaleMode에 근거하여 결정

이 컨트롤이 폼일 경우에는 좌표 시스템이 항상 트윕 단위

Page 34: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

메소드 메소드의 종류

Refresh 컨트롤을 다시 그린다

object.RefreshMove 메소드

Refresh 메소드를 사용하는 것은 대체로 다음의 경우 그래픽 메소드를 사용한 컨트롤을 완전히 다시 표시할 경우 다른 폼을 불러오는 동안 하나의 폼을 완전히 표시할 경우 FileListBox 컨트롤과 같은 파일 시스템 목록 상자의 내용을 갱

신하는 경우 Data 컨트롤의 데이터 구조를 갱신하는 경우

Refresh 메소드가 그래픽 메소드를 갖는 컨트롤에 사용될 때에는 내부적으로 Paint 이벤트를 발생

Page 35: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

메소드 메소드의 종류

SetFocus 컨트롤로 입력 포커스를 가져오는 기능을 하는 메소드

object.SetFocus

이 메소드를 사용할 수 있는 컨트롤은 반드시 포커스를 가질 수 있는 컨트롤

Enabled 프로퍼티가 False로 설정된 경우에도 컨트롤은 포커스를

가져올 수 없다 Enabled 프로퍼티가 False일 때엔 SetFocus 메소드를 호출하기 전

에 먼저 그 프로퍼티를 True로 변경

Page 36: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

이벤트 이벤트의 개념

이벤트는 객체에 일어나는 사건

이벤트 설정 Event-Driven

윈도우 전반에 걸쳐서 동일하게 적용되는 개념 어떤 객체에 일어난 사건에 대해서 반응함으로써 작업이 이루어진다. 만약 버튼이 눌렸다면 버튼에는 클릭 이벤트가 발생

클릭 이벤트에 대한 핸들러를 준비하였으면 윈도우는 이 핸들러내의 코드를 실행

윈도우의 이벤트는 아주 종류가 많으며, 또 객체에 따라서 각각 고유한 이벤트들을 갖게 된다.

Page 37: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-3 프로그램 작성을 위한 기본 요소의 개념

이벤트 이벤트 프로시저

객체의 특정 이벤트가 발생했을 때 수행되는 코드 묶음 문 법

Sub ObjectName_EvaneName(arg1, arg2, ...)

다음 예제는 Command1 이라는 이름을 가진 버튼이 눌린 경우, “눌렸습니다.” 라는 메시지를 화면에 보이도록 한다

폼에 Command 버튼을 추가한 후 커멘드 버튼을 두번 클릭 하면 프로그램을 넣을 수 있는 코드 편집 윈도우가 나타난다.

Sub Command1_Click() Msgbox "눌렸습니다!"

End Sub

Page 38: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

Windows 프로그램의 작성 Windows 프로그래밍을 하는데 있어서 가장 중요한 것은 이 프로그램이 과연 무슨 일을 하는 프로그램인가를 정의하는 일

비주얼베이직에서의 입출력은 어떻게 정의해야 하는가. 정답은 컨트롤이 그 역할을 담당

컨트롤의 구현 실습 2-1

자신의 성명을 입력하면 프로그램은 사용자의 이름과 함께 “안녕하세요” 라고 출력하는 프로그램을 작성

Page 39: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

컨트롤의 구현 컨트롤 추가

사용자의 이름을 입력받는다. 사용자의 이름과 함께 “안녕하세요”를 출력

컨트롤 배치 폼 위에 배치하기 위한 컨트롤을 컨트롤 박스에서 선택 사용하려는 컨트롤 위에서 마우스 버튼을 한 번 누른 후 폼위에서 원하는

크기만큼을 마우스를 누른 상태에서 이동을 하면 선택한 컨트롤이 생성

Page 40: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

컨트롤의 구현 컨트롤 배치

사용하려는 컨트롤들을 원하는 위치에 알맞은 크기로 폼위에 배치한 화면

컨트롤의 속성 설정 컨트롤들을 배치한 후에는 각 컨트롤들의 속성을 지정 “안녕하세요” 프로그램에서도 텍스트 박스가 두 개 사용 입력에 쓰이는 텍스트 박스는 txtInput, 출력에 쓰이는 텍스트 박스는

txtOutput이라 이름을 설정

Page 41: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

컨트롤의 구현 컨트롤의 속성 설정

같은 컨트롤이지만 이름을 달리하는 이유 두 개의 컨트롤 이름이 같으면 어느 텍스트 박스를 선택해야 할지를 모르기

때문

컨트롤들의 이름을 정하는데 있어서 각 컨트롤의 기능을 잘 알 수 있도록 사용자가 정하는 컨트롤이름 앞에 선행자를 붙이는 것을 원칙

일반적인 컨트롤의 이름을 구분하기 위한 선행자들

컨트롤 선행자

PictureBox pic

Label lbl

TextBox txt

Frame fra

CommandButton cmd

CheckBox chk

OptionButton opt

ListBox lst

ComboBox cbo

HscrollBar hsb

컨트롤 선행자

VscrollBar vsb

Timer tmr

DriveListBox drv

DirListBox dir

FileListBox fil

Shape shp

Line lin

Image img

Data dat

form frm

Page 42: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

컨트롤의 구현 컨트롤의 속성 설정

객체의 이름은 그 객체의 특성을 잘 나타내어 요약하는 것이어야 생산성이 높아진다

객체의 종류에 따라 다른 접두사를 붙임으로써 객체를 구분 txtName이라는 객체가 있다면 앞의 txt라는 접두사에 의해 텍스트박스이

며, 아마도 Name, 즉 이름과 관련된 객체일 것이라는 예상

컨트롤 표시어 사용예제

CheckBox chk chkReadOnly

ComboBox cbo cboEnglish

CommandButton cmd cmdExit

CommonDiallogBox dlg dlgFileOpen

Form frm frmEntry

Label lbl lblHelpMessage

ListBox lst lstPolicyCodes

Menu mnu mnuFileOpen

Picture pic picVGA

TextBox txt txtLastName

Page 43: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

컨트롤의 구현 개체별 속성창 지정

▶ “안녕하세요” 컨트롤별 속성 설정 값

컨트롤 이름

컨트롤 종류

사용된 속성

frmHello 폼 (Name) = frmHello Caption = 안녕하세요...

lblInput 라벨 (Name) = lblInput Caption = 이름을 입력하세요

cmdInput 명령 버튼

(Name) = cmdInput Caption = 입 력

txtInput 텍스트 박스

(Name) = txtInput Text = “ ”

txtOutput

텍스트 박스

(Name) = txtOutput Text = “ ”

frmHello 컨트롤의 속성

Page 44: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

컨트롤의 구현 개체별 속성창 지정

lblInput 컨트롤의 속성

cmdInput 컨트롤의 속성

Page 45: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

컨트롤의 구현 개체별 속성창 지정

txtInput 컨트롤의 속성

txtOutput 컨트롤의 속성

Page 46: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

컨트롤의 구현 컨트롤에 대한 코드 프로시저 작성

각 컨트롤이나 폼을 더블클릭하거나 [보기] 메뉴에서 [코드] 항목을 클릭하거나 프로젝트 탐색기 창에서 코드 버튼을 클릭하면 Code Window가 니티남

Page 47: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

컨트롤의 구현 컨트롤에 대한 코드 프로시저 작성

오른쪽 상단의 리스트 박스에서 마우스나 키보드에서 일어날 수 있는 경우의 목록들이 나열

나열된 리스트 항목을 선택하게 되면 그 창에서 작성된 코드는 그 항목이 발생되는 경우에만 실행

Windows는 Event Driven 방식 Windows가 미리 정해놓은 Event가 발생하게 되면 Windows는 그 Event에

따라 일정한 행동

비주얼베이직에서는 각 컨트롤마다 Event를 정할 수 있게 Code Window에서 제공

Page 48: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

컨트롤의 구현 컨트롤에 대한 코드 프로시저 작성

작성된 코드는 cmdInput 컨트롤에 Click 이벤트가 발생했을 때 즉, 입력버튼을 마우스로 클릭했을 때 실행

Page 49: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

컨트롤의 구현 cmdInput 컨트롤의 코드 내용

비주얼베이직에서 자동으로 입력해 주는 코드로서 우리는 Private Sub cmdInput_Click()과 End Sub사이에 코드를 작성

Page 50: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

컨트롤의 구현 cmdInput 컨트롤의 코드 내용

Private Sub cmdInput_Click()의 의미는 cmdInput 컨트롤에 Click 이란 이벤트가 발생했을 때 코드의 시작 부분을 의미하며 End Sub는 그 코드의 마지막이라는 의미

Dim strHello As String 스트링 형으로 strHello라는 변수를 선언

strHello = “안녕하세요?” + txtInput.Text + “님” 변수 strHello에 “=” 오른쪽의 내용을 대입

txtOutput.Text = strHello 변수 strHello의 내용을 txtOutput 컨트롤의 Text 속성에 대입

Page 51: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

컨트롤의 구현 “안녕하세요” 프로그램의 실행

실행방법 “실행” 메뉴에서 “시작”을 선택하거나 도구 바에서 [시작] 단추를 선택하여

실행

실행 결과

Page 52: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

컨트롤의 구현 “안녕하세요” 프로그램의 실행

프로그램의 종료 오른쪽 상단의 프로그램 닫기 단추를 누르거나 도구 바에서 [종료] 단추를

누르면 프로그램이 종료

프로그램의 구성 모든 프로그램이 종료

Page 53: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-4 프로그램 작성하기

컨트롤의 구현 비주얼베이직의 파일 형식

형 식 확장자 설 명

폼파일 frm 폼과 개체에 대한 속성과 이벤트 프로시저

프로젝트파일 vbp 프로젝트를 구성하는 파일과 개체 목록, 시작 폼

표준모듈 bas 프로젝트에 있는 폼과 객체에서 호출되는 공통 속성과 프로시저

Page 54: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

Label( ) 폼 위에 문자 정보를 표시하는 컨트롤 컨트롤 윈도우에서 Label 컨트롤을 선택한 후 드래그하여 Label 컨트롤을 폼 위에 배치 원하는 위치에 원하는 크기의 Label 컨트롤이 배치되었는지 확인하고 언제든지 위치와 크기는 조정

Page 55: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

Label( ) Label속성의 종류와 그 기능

이름(Name) 속성 모든 컨트롤은 모두 이름 속성을 가지고 있어야 함 컨트롤 제어를 위해서 컨트롤의 이름을 참조

컨트롤의 이름은 다음의 규칙을 따라 작성

255자 이내

영문자, 숫자, 밑줄 문자(_)로 구성

첫 번째 문자는 영문자로 구성

Sub, For, End 등 예약어(비주얼베이직이

내부적으로 사용하는 단어)는 사용 불가

동일 폼 내에 중복된 이름 사용 불가

이름을 보고 그 컨트롤이 어떤 종류의 것인지 어떤 역할을 하는 것인지 알 수 있도록 한다

Page 56: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

Label( ) Label속성의 종류와 그 기능

Caption 속성 Label 컨트롤에 표시되는 문자열을 의미 속성 윈도우에서 Caption 속성을 찾아 출력하

고자 하는 내용을 입력

Label 컨트롤의 표시 내용이 바뀌었는지 확인

Page 57: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

Label( ) Label속성의 종류와 그 기능

Alignment 속성 Label 컨트롤 위에서 출력된 문자열의 정렬

상태를 정해주는 속성

Alignment 속성값은 ‘0-왼쪽 맞춤, 1-오른쪽 맞춤, 2-가운데 맞춤’

‘1-오른쪽 맞춤’으로 설정한 다음 문자열의 정렬이 오른쪽 정렬로 바뀐 것을 확인

Page 58: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

Label( ) Label속성의 종류와 그 기능

Appearance 속성 Label 컨트롤의 외양을 결정

‘0-평면’과 ‘1-3D’ 두 가지가 있다

‘BorderStyle’ 속성에 종속되어 있으며, ‘BorderStyle’ 속성이 ‘0-없음’으로 설정되어 있으면 Appearance 속성은 효과가 없다.

다음과 같이 설정하면 Label 컨트롤에 3D 효과가 지정 Appearance 속성 = 1-3D

BorderStyle = 1-단일 고정

Page 59: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

Label( ) Label속성의 종류와 그 기능

BackColor 속성 Label 컨트롤의 배경색을 지정

BackColor 속성을 열면, 탭이 두 개 있다. 시스템:현재 시스템에 설정되어 있는 색으로 윈

도우 디스플레이 등록 정보에 있는 ‘화면배색’에 의해 변경

색상표:컨트롤의 색상을 사용자가 정의

‘색상표’ 탭을 누르면 다음과 같은 색상을 정의

‘BackStyle’ 속성이 ‘0-투명’으로 정의되어 있으면, BackColor 속성은 효과를 나타낼 수 없다.

Page 60: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

Label( ) Label속성의 종류와 그 기능

Enabled 속성 Label 컨트롤에서는 그다지 중요하지 않지만, 다

른 컨트롤들에는 유용하게 사용

False로 설정하면 컨트롤을 비활성화(사용불능) 상태로 나타내어 준다.

Enabled 속성은 폼 디자인 상태에서는 확인할 수 없고, 실행상태에서 적용 여부를 확인

Enabled 속성을 False로 설정한 상태에서 나타낸 모양으로 Enabled 속성이 True로 설정되었을 때에 비해 글자가 흐려진 상태를 확인

Page 61: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

Label( ) Label속성의 종류와 그 기능

Font 속성 Caption 속성에 설정된 문자를 표시할 글꼴을 설정

‘...’ 버튼을 누르면 다음과 같은 글꼴 대화상자가 나타난다.

Page 62: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

Label( ) Label속성의 종류와 그 기능

ForeColor 속성 Caption 속성에 지정된 문자열의 색상을 바꾸어 준다

Page 63: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

Label( ) Label속성의 종류와 그 기능

Visible 속성 컨트롤을 윈도우 화면에 보이게 할 것인지를

결정

‘False’로 설정되어 있으면 컨트롤은 실행시 보이지 않게 된다.

AutoSize 속성 Label 컨트롤의 크기를 Caption에 입력된 문

자열의 길이에 자동으로 맞출 것인지를 결정하는 속성

True로 설정되면 다음과 같이 문자열의 길이에 맞추어 크기가 결정 글꼴:궁서체

글꼴 스타일:굵은 기울임꼴

크기:16

Page 64: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-2 Label 컨트롤을 이용하여 문자열을 출력

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

Form1 Form (이름) = From1 Caption = ""

뷰 Lable (이름) = 뷰 Caption = ""

출력 CommandButton (이름) = 버튼 Caption = 출력

Page 65: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-2 ① 새 프로젝트를 생성

Page 66: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-2 ② Label을 선택하여 폼에 위치

Font의 크기를 예상하여 적당한 크기로 드래그 화면에 나타낼 글자의 Font는 해당 Label의 속성 Font에서 조정

Page 67: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-2 ③ 명령을 수행할 Command버튼을 다음과 같이 폼에 위치

Page 68: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-2 ④ 프로젝트 창의 Form1에서 코드보기를 선택 ⑤ 다음과 같이 코딩 ⑥ 실행

Page 69: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-3 Label 컨트롤에 속성의 효과를 지정

컨트롤 이름

컨트롤 종류 사용된 속성

Form1 Form (이름) = From1 Caption = ""

Label1 Lable

(이름) = 뷰 Caption = "" Alignment = 2 - 가운데 맞춤 BorderColor = 1 - 단일 고정 ForeColor = &H000000FF&

출력 CommandButton (이름) = 버튼 Caption = 출력

Page 70: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-3 ① <실습 2-2>에서 작성한 프로젝트를 불러온다 ② Label인 (이름)뷰를 선택하여 속성을 변경

Page 71: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-3 ③ Form화면에 나타날 Font의 글자 색은 다음과 같이 변경 ④ 저장 후 실행

Page 72: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

TextBox( ) TextBox 컨트롤은키보드를 통해서 문자 정보를 입력받기 위한 컨

트롤 TextBox 컨트롤을 선택한 후, 드래그하여 폼 위에 배치하고, 원하

는 위치에 원하는 크기의 TextBox 컨트롤이 배치되었는지 확인 TextBox속성의 종류와 그 기능

Page 73: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

TextBox( ) 이름(Name) 속성

하나의 폼에 동일한 이름의 컨트롤이 두 개 이상 존재할 수는 없다. TextBox 컨트롤의 이름은 txt라는 접두어를 붙이도록 권장

Text 속성 TextBox 안에 입력되어 있는 내용을 나타내는 속성이 Text 속성 비어 있는 상태로 나타나게 하고 싶다면 바로 이 속성을 공백으로 나

타내야 한다.

Alignment 속성 문자의 정렬 상태를 지정하는 속성 세 가지 중 하나로 지정할 수 있으며 그 결과값은 다음과 같다.

Page 74: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

TextBox( ) Appearance 속성

TextBox 컨트롤의 외양을 지정 Appearance 속성은 다음 두 가지 중 하나로 지정

이 속성은 BorderStyle 속성이 ‘1-단일 고정’으로 선택되어 있을 때에만 적용

Page 75: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

TextBox( ) Enabled 속성

TextBox의 사용 가능 여부를 결정 False로 설정되어 있으면 TextBox에 문자 정보가 입력되지 않는다.

Page 76: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

TextBox( ) Font 속성

TextBox에 입력될 문자의 폰트를 결정 ‘...’ 버튼이 나오면 글꼴 대화상자가 나타나며, 이곳에서 글꼴과 스타

일, 크기를 지정

Page 77: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

TextBox( ) Locked 속성

TextBox에 사용자가 특정 내용을 입력할 수 있게 할 것인지의 여부를 결정

위의 것은 Enabled 속성을 False로 준 것이고, 아래의 것은 Locked 속성을 True로 준 것

Locked 속성이 True인 경우는 입력, 편집만을 막아놓은 경우

Page 78: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

TextBox( ) MaxLength 속성

사용자가 입력할 수 있는 문자의 갯수를 제한하는 속성

MultiLine 속성 TextBox에 여러 줄의 문자열을 입력할 경우 이 속성을 True로 설정 메모장과 같이 여러 줄을 입력해야 하는 프로그램을 개발한다면

MultiLine 속성이 True로 설정된 TextBox가 필요

Page 79: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

TextBox( ) Vislble 속성

False가 되어 있으면 TextBox가 시각적으로 보이지 않게 된다 보이지 않을 뿐, 실제로는 폼 안에 존재하고 있는 것

Page 80: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-4 Text Box를 이용한 입력값을 Text Box에 출력

컨트롤 이름

컨트롤 종류 사용된 속성

Form1 Form (이름) = From1 Caption = “”

Label1 Lable (이름) = Label1 Caption = “입력값”

Text1 TextBox (이름) = Text1 Caption = “”

Text2 TextBox (이름) = Text1 Caption = “”

버튼 CommandButton (이름) = 버튼 Caption = “출력”

Page 81: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-4 ① 새 프로젝트를 생성 ② Label인 (이름)뷰를 선택하여 속성을 변경

Page 82: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-4 ③ TextBox를 선택하여 입력받을 TextBox의 위치한 후 속성을 변경 ④ 같은 방법으로 Text2를 Form에 위치

Page 83: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-4 ⑤ Text1에 입력한 값을 Text2에 출력하기 위한 명령버튼을 추가

(이름)과 Caption을 속성창에서 수정

Page 84: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-4 ⑤ 프로젝트의 해당 폼에서 코드보기를 선택하여 다음과 같이 코딩

출력 CommandButton을 두 번 Click하면 출력버튼 코딩

⑥ 저장후 실행

Page 85: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-5 Text파일의 내용을 읽어 들여 TextBox에 내용을 출력

컨트롤 이름

컨트롤 종류 사용된 속성

Form1 Form (이름) = From1 Caption = “”

Text1 TextBox (이름) = Text1 Caption = “” MultiLine = True

Command1 CommandButton (이름) = Command1 Caption = 확인

Page 86: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-5 ① Form에 내용을 출력할 TextBox를 추가한 후 MultiLine을 True로

변경

Page 87: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-5 ② CommandButton을 Form에 추가한 후 속성에서 Caption을 변

Page 88: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-5 ③ Text파일을 임의의 디렉토리에 위치시킨다. 여기서는

C:\test.txt로 사용 ④ Command1에 다음과 같이 Coding

' 파일 읽기 버튼을 누르면 수행한다. Private Sub Command1_Click() Dim F_Line As String Dim F_Data As String ' 파일 읽을 수 있도록 열어준다. Open "c:\test.txt" For Input As #1 ' 파일의 내용을 읽어 온다. Do While Not EOF(1) Line Input #1, F_Line F_Line = F_Line & vbCrLf F_Data = F_Data & F_Line Loop

' 파일을 닫아 준다. Close #1 ' 읽어온 내용을 텍스트박스에 넣는다. Text1.Text = F_Data Exit Sub End Sub

Page 89: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

CommandButton( ) 가장 자주 접하게 되는 CommandButton (명령 단추) 컨트롤 원하는 위치에 원하는 크기의 CommandButton 컨트롤이 배치되

었는지 확인

Page 90: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

CommandButton( ) Caption 속성

CommandButton 컨트롤에 표시된 문자열을 결정

Page 91: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

CommandButton( ) Picture 속성

버튼 위에 그래픽 정보를 표시하고자 할 때 사용하는 속성

그림(Picture)을 선택하기 이전에 아래의 속성이 우선적으로 지정

조건 적용방법

CommandButton이 사용 불능일 때 Enabled=false

Style이 그래픽으로 설정되어 있을 때 Style=1 - 그래픽

Page 92: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

CommandButton( ) Picture 속성

속성 윈도우에서 Picture 항목을 선택하면 오른쪽에 ‘...’ 버튼이 나타난다

그림폴더를 지정하면 다음과 같은 화면이 나타나고 해당 그림을 지정하면 버튼 위에 나타난다.

Page 93: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

CommandButton( ) ToolTipText 속성

명령 버튼 컨트롤이나 도구상자 위에 마우스를 올려 놓으면 풍선 도움말이 뜨는 것

CommandButton의 풍선 도움말을 설정해주는 속성

Page 94: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

CommandButton( ) Index 속성

컨트롤의 배열이 생성되었을 때 그 인덱스를 나타낸다. CommandButton의 배열 생성

Page 95: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

CommandButton( ) Index 속성

복사하여 해당 Form에 붙여넣기 같은 이름의 컨트롤이 존재하기 때문에 배열로 설정할지 물어본다

Page 96: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

CommandButton( ) MousePointer 속성

런-타임 시 컨트롤 위에 마우스가 위치하고 있을 때 나타나는 마우스 포인터 모양

실행하여 해당 컨트롤에 마우스를 옮기면 다음과 같은 화면

Page 97: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

CommandButton( ) TabIndex, TabStop 속성

(탭키)에 의해 포커스를 가질 수 있는 컨트롤 간의 우선 순위를 나타낸다.

컨트롤 선택 상태에서 Tab Key를 누르게 되면 TabIndex값의 순서대로 선택

Page 98: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

CommandButton( ) Enabled 속성

컨트롤이 활성화 될 수 있는가의 여부를 지정. Enabled False로 설정하게 되면 다음과 같이 런타임시 사용을 할 수

없는 그림으로만 표시

Page 99: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

CommandButton( ) Visible 속성

화면에 컨트롤이 보이는가의 여부를 지정. Visible을 False로 선택하게 되면 런타임시 다음과 같이 Command1

이 보이지 않게 된다.

Page 100: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

CommandButton( ) Font 속성

글자가 있는 컨트롤의 경우에 그 글자의 글꼴을 나타낸다. . 문자를 포함한 컨트롤 버튼과 같은 경우에 글꼴을 변경하면 다음과

같은 화면을 볼 수 있다

Page 101: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-6 Tab키로 포커스 순서를 지정

컨트롤 이름

컨트롤 종류 사용된 속성

Form1 Form (이름) = From1 Caption = “”

Text1 TextBox (이름) = Text1 Caption = “”

Text2 TextBox (이름) = Text2 Caption = “”

Command1 CommandButton (이름) = Command1 Caption = 확인

Label 1, 2, 3

Label (이름) = Label1, 2, 3 Caption = 각각의 Caption값

Page 102: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-6 ① 값을 입력받을 수 있는 TextBox를 각각 Form에 추가

Page 103: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-6 ② Tab키 인덱스를 가질 수 있는 CommandButton도 Form에 추가

Page 104: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-6 ③ 설명을 붙일 수 있는 Label을 Form에 추가한 후 Caption을 변경

Page 105: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-6 ④ Form1에서 코드보기를 열어 다음과 같이 Coding

⑤ 실행(런타임)하여 Tab Key를 누르면 포커스가 해당 코드 입력 값대로 이동하는 것을 확인

‘ 폼이 생성하면 수행한다.

Private Sub Form_Load() ' 첫 번째 텍스트컨트롤에 탭인덱스 값을 0으로 설정한다. Text1.TabIndex = 0 ' 두 번째 텍스트컨트롤에 탭인덱스 값을 1로 설정한다. Text2.TabIndex = 1 ' 명령 버튼컨트롤에 탭인덱스 값을 2로 설정한다. Command1.TabIndex = 2 End Sub

Page 106: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-7 CommandButton을 이용한 Label에 해당 문자 출력

컨트롤 이름

컨트롤 종류 사용된 속성

Form1 Form (이름) = From1 Caption = ""

출력 Lable (이름) = 출력 Caption = “”

버튼1 CommandButton (이름) = 버튼1 Caption = “안녕하세요?”

버튼2 CommandButton (이름) = 버튼2 Caption = “비주얼 베이직”

버튼3 CommandButton (이름) = 버튼3 Caption = “Programing”

Page 107: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-7 ① 새 프로젝트를 생성 ② Form에 Label을 위치시킨 후 (이름)과 Caption을 다음 그림과

같이 수정

Page 108: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-7 ③ CommandButton을 다음과 같이 3개를 해당 Form에 추가

Page 109: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-7 ④ CommandButton을 추가한 후 다음과 같이 각각 (이름)과

Caption을 변경

Command1:(이름) 버튼1 , Caption 안녕하세요? Command2:(이름) 버튼2 , Caption 비주얼 베이직 Command3:(이름) 버튼3 , Caption Programing

Page 110: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-7 ⑤ 프로젝트에서 코드보기를 클릭한다. 각각 다음과 같이 Coding

Page 111: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-8 패스워드를 입력하여 새로운 Form을 띄우기

컨트롤 이름

컨트롤 종류 사용된 속성

Form1 Form (이름) = From1 Caption = ""

Label1 Lable (이름) = Label Caption = 패스워드

Text1 TextBox

(이름) = Text1 Caption = “” PasswordChar = * Text = ""

버튼 CommandButton (이름) = 버튼 Caption = 확인

Page 112: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-8 ① 새 프로젝트를 생성 ② Label을 해당 Form에 위치시켜 Caption을 변경

Page 113: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-8 ③ 패스워드를 입력받을 창의 TextBox의 속성을 변경

Page 114: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-8 ④ 패스워드를 입력 후 확인을 할 명령버튼을 폼에 위치

(이름)과 Caption을 변경

Page 115: 2장 비주얼베이직 6 - elearning.kocw.netelearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Bokgi/2.pdf · 비주얼베이직의 모듈에 코드를 입력하고, 나타내고,

2-5 기본 컨트롤의 이해

실습 2-8 ⑤ 확인((이름)버튼)에 다음과 같이 코딩

⑥ 저장 후 실행

Private Sub 버튼_Click() Dim test As Variant Dim test2 As Variant test = Text1.Text test2 = "1234" If test <> test2 Then MsgBox "비밀번호가 틀립니다" Else MsgBox "비밀번호가 맞습니다" End If End Sub