비주얼 베이직 6 1999. 9. 한성대학교 정보전산학부 강 승 식 기본 개념 학습내용 1. 윈도용 사용자 인터페이스 구현 2.

Download Report

Transcript 비주얼 베이직 6 1999. 9. 한성대학교 정보전산학부 강 승 식 기본 개념 학습내용 1. 윈도용 사용자 인터페이스 구현 2.

비주얼 베이직 6
1999. 9.
한성대학교 정보전산학부
강 승 식
기본 개념
학습내용
1. 윈도용 사용자 인터페이스 구현
2. 베이직 언어 학습
변수선언, 명령문, 프로시저 작성법 등
3. 응용 S/W(DB, 인터넷 등)에 대한 GUI
4. 객체지향 언어 개념 습득 및 연습
교육과정
초급(Fundamental)
중급(Development)
고급(Enterprise)
2015-11-06
2
프로젝트, 폼, 컨트롤
• 프로젝트 : work group --- 1개 이상의 폼
• 폼(form) : 1개 이상의 컨트롤
• 컨트롤 : 폼의 구성요소
• 컨트롤 : C++의 클래스(객체 또는 object)
• 개 체 : C++의 인스턴스
• 속 성 : property
2015-11-06
3
베이직 언어
베이직 언어의 역할
1. 개체들의 속성값 변경
2. 일반적인 프로그래밍 언어
베이직 언어
1. 변수 선언
2. 명령문 : 치환문, 입출력문, 제어문 등
3. 프로시저 작성법
2015-11-06
4
프로그래밍 환경
1. 메뉴
2. 도구 모음 : 메뉴에서 오른쪽 버튼
표준, 컨트롤, 디버그, 편집, 폼 편집기
3. 기본 도구상자
4. 프로젝트 창
5. 폼, 폼 디자이너 창
6. 속성 창
7. 코드 창 : 개체, 프로시저/이벤트
8. 폼 레이아웃 창
2015-11-06
5
컨트롤의 유형
• 기본 컨트롤
– 도구상자에 기본적으로 들어있는 컨트롤
– TextBox, Command, Label, Frame 등
• 외부 컨트롤 : ActiveX 컨트롤
– 도구상자에 추가할 수 있는 것
– [프로젝트]-[구성요소]
• 일반적인 속성
– 이름, 위치, 크기, 폰트 등
– Name, Left, Top, Height, Width, BorderStyle,
Enabled, Visible, MousePointer, ToolTipText 등
2015-11-06
6
폼과 컨트롤 : 위치, 크기
위치/크기: Left, Top, Height, Width (단위: 트윕)
Top
Left
Top
Left
라벨 컨트롤
Height
Height
Width
Width
2015-11-06
화면
7
명령버튼 컨트롤
• 명령버튼 컨트롤(Command Button)
– 속성
• Caption
• Cancel : Esc키 눌렀을때 실행 , 한 폼에 1개만 True
• Default : Enter키에 대한 반응, 한 폼에 1개만 True
• Picture : Caption에 그래픽이미지, Style값이 ‘그래픽’
• Style : 표준 or 그래픽
– Caption 속성의 가속키 : E&xit, Exit, Alt+X
2015-11-06
8
텍스트상자 컨트롤
• 텍스트상자 컨트롤(Text Box Control)
– 텍스트 입출력 : 이름, 주소 등
– 속성
• Alignment : 텍스트 정렬 방식, MultiLine과 연계
• Locked : 텍스트 상자의 입력/변경 가능 여부
• MaxLength : 텍스트에 입력가능한 최대 문자수
• MultiLine : 크기가 넘어갈 때 다음 줄로
• PasswordChar : 문자입력시 나타나는 문자 ‘*’
• ScrollBars : 수평/수직 스크롤 바 표시 여부
2015-11-06
9
라벨 컨트롤
• 라벨 컨트롤 (Label Control)
– 용도 : 제목, 안내문, 설명 등
– 실행 중에 코드를 통하여 변경 가능
– 속성
• Caption : 텍스트 내용 표시
• AutoSize : 수평크기(width) 자동 조절
• WordWrap : 수직크기(height) 자동 조절
2015-11-06
10
일부 컨트롤의 공통 속성
•
•
•
•
•
•
•
•
•
•
•
•
Alignment : 텍스트의 정렬(왼쪽, 중앙, 오른쪽)
BackColor : 컨트롤의 배경색 지정
BorderStyle : 컨트롤의 테두리 속성 지정
Caption : 컨트롤 위에 나타나는 텍스트 내용
Enabled : 실행 중에 컨트롤을 사용 또는 사용 불가
Font : 크기, 유형 등 글꼴 속성 지정
ForColor : 컨트롤의 전면 색깔 지정
Height : 컨트롤의 높이
Left : 컨트롤의 왼쪽 위치
MousePointer : 컨트롤 위에서 마우스의 커서 모양
Name : 컨트롤의 이름
ToolTipText : 마우스를 컨트롤 위에서 일정시간 머무르
면 나타나는 문자열
• Top : 컨트롤의 위쪽 위치
• Visible : 컨트롤이 보이게 또는 보이지 않게
• Width : 컨트롤의 폭
2015-11-06
11
속성, 메소드, 이벤트
• 속성(property)
– 개체를 설명하는 <특성, 값>
– 예) 사람의 이름, 나이, 주소, 전화번호 등
• 메소드(method)
– 개체가 어떤 일을 하도록 하는 방법
• 이벤트(event)
– 개체와 관련하여 발생하는 사건
2015-11-06
12
컨트롤의 Default 속성
• 컨트롤의 속성을 지정하지 않으면
컨트롤의 default 속성으로 간주
lblTitle.Caption = “Hello”
lblTitle = “Hello”
• 라벨 컨트롤의 기본속성 : Caption
• 텍스트 컨트롤의 기본속성 : Text
2015-11-06
13
폼의 속성
• BorderStyle: 폼의 크기를 바꾸려고 할 때 폼의 반응
• ControlBox: 폼의 컨트롤 메뉴가 나타나게 할지 여부
• Icon: 폼을 최소화시켰을 때 아이콘 파일명 지정
• MaxButton: 폼이 창 최대화 버튼을 포함하게 할지 결정
• MinButton: 윈도우 최소화 버튼 포함하게 할지 결정
• Movable: 폼을 이동할 수 있도록 할지 결정
• ShowInTaskbar: 사용자 창 작업막대에 나타나게 할지
• StartUpPosition: 폼이 화면에 나타나는 위치를 빠르게
지정
• WindowState: 폼의 크기(보통, 최소화, 최대화) 결정
2015-11-06
14
컨트롤의 초점(focus)
• Enter키를 눌렀을 때
– focus를 가진 컨트롤이 실행된다
• Focus를 갖는 컨트롤
– 명령 버튼 : 점선 표시
– 텍스트 박스 : 커서가 깜박임
• 실행시 Tab키로 초점 이동
• TabIndex 속성 : 0, 1, 2, …...
– Tab키에 의해 순서대로 focus 이동
2015-11-06
15
VB 공통 메소드
• Move
– 코드 요청에 따라 개체의 위치 변경
예) txtInput.Move 100, 100
txtInput.Left = 100
txtInput.Top = 100
• Drag
– 사용자의 drag & drop 동작의 실행처리
• SetFocus
– 지정된 개체에 focus를 준다
– 예) cmdExit.SetFocus
• ZOrder
– 다중 개체가 화면에 나타날 때 순서 결정
2015-11-06
16
폼 메소드
•
•
•
•
•
•
•
Move
Show
Hide
Refresh
SetFocus
Print
PrintForm
2015-11-06
17
일반적인 폼 이벤트
•
•
•
•
•
•
•
•
•
Activate: 폼이 초점을 가졌을 때
Deactivate: 다른 폼으로 초점 이동 시
Click: 폼의 아무 위치에서 마우스 클릭 시
DblClick: 폼을 더블 클릭할 때
Initialize: 폼이 처음 생성시
Load: 폼이 화면에 나타날 때
Paint: 폼의 일부가 가려졌다가 폼을 다시 그릴 때
Resize: 사용자가 폼의 크기를 변경할 때
Unload: 코드를 사용하여 창의 폼을 제거, 메모리
또는 파일 정리를 수행하고자 할 때
2015-11-06
18
일반적인 컨트롤 이벤트
•
•
•
•
•
•
•
•
•
•
•
Change: 텍스트 상자 컨트롤의 내용 변경시
DragDrop: 개체를 다른 위치로 끌어 놓을 때
DragOver: 다른 컨트롤 위로 개체를 끌어 놓을 때
GotFocus: 포커스를 가질 때
LostFocus: 포커스를 잃었을 때
KeyDown: 포커스가 있는 동안 키를 눌렀을 때
KeyPress: 키를 눌렀다 놓았을 때
KeyUp: 키를 놓았을 때
MouseDown: 마우스 버튼을 눌렀을 때
MouseMove: 개체 위에서 마우스를 움직였을 때
MouseUp: 마우스 버튼을 놓았을 때
2015-11-06
19
이벤트 프로시저
• 이벤트가 발생할 때 실행되는 코드
• 개체와 이벤트 프로시저 선택
코드창의 dropdown 리스트 : 개체, 이벤트/프로시저
• 이벤트 프로시저의 이름
FormName_EventName() OR ControlName_EventName( )
예) Private Sub cmdExit_Click()
…...
End Sub
• 함수와 서브루틴
[Public|Private] [Static] Sub|Function|Property _
function_name (argument) [As Type]
…...
End Sub|Function|Property
2015-11-06
20
프로그램 작성 과정
컨트롤을 폼에 배치
각 컨트롤의 속성 설정
각 컨트롤의 이벤트 프로시저 작성
프로그램 실행/디버그
실행파일 작성
2015-11-06
21
기본 컨트롤과 개체
•
•
•
•
•
•
•
•
•
•
•
•
폼(frm)
메뉴(mnu)
명령 버튼(cmd)
텍스트 박스(txt)
라벨(lbl)
프레임(fra)
체크 박스(chk)
옵션 버튼(opt)
콤보 박스(cbo)
리스트 박스(lst)
수평 스크롤바(hsb)
수직 스크롤바(hsb)
2015-11-06
•
•
•
•
•
•
•
•
•
•
•
드라이브 박스(drv)
디렉토리 박스(dir)
파일(fil)
세이프(shp)
라인(lin)
데이터(dat)
그림 박스(pic)
이미지(img)
그리드(grd)
OLE(ole)
타이머(tmr)
22
비주얼 베이직 files
•
•
•
•
•
•
•
•
Project Files
.vbp .vbw
Form Files
.frm .frx
VB Standard Modules .bas
Custom Controls .ocx
VB class Modules .cls
Resource Files
.res
User Controls .ctl .ctx
User Document
.dob .dox
2015-11-06
23