한글 비주얼베이직 6

Download Report

Transcript 한글 비주얼베이직 6

한글 비주얼베이직 6
4장. 컨트롤과 친숙해지자
1. 컨트롤이란 무엇일까요?
컨트롤이란?
폼 위에 올려 놓을 수 있는 객체
객체
■객체 지향 프로그램의 작업 단위
■속성 - 객체의 상태를 표현하는 데이터
■메서드 - 객체의 상태를 바꾸는 동작
■이벤트 - 객체에 영향을 주는 외부 사건
■이벤트 프로시저 - 이벤트가 발생시 실행되는
함수.
객체의 예 - Car
속성
Car.Color = Yellow
Car.NumOf Door = 2
Car.SizeOfWheel = 20
메서드
Car.Run
Car.Stop
Car.Accel 3
이벤트
Sub Car_Crash()
Car.MakeAirBag
End Sub
With 문
■프로그램 코드의 양을
줄이기 위한 방법
With Car
.Color = Yellow
.Run
End With
컨트롤의 종류
표준 컨트롤
■두구 상자에 항상 포함되어 있는 기본 컨트롤
■비주얼 베이직 제공 컨트롤
■원도우즈 제공 컨트롤
사용자 정의 컨트롤
■서드 파티에서 개발한 OCX
삽입 가능한 컨트롤
■OLE / 삽입 객체
포커스(Focus)
사용자의 관심 대상
키보드, 마우스 입력을 받는 객체
객체가 포커스를 갖는 방법
■마우스로 객체를 선택
■단축키를 사용하여 선택
■코드에서 객체명.SetFocus 호출
포커스의 이동
■TAB, Shift+TAB
포커스(Focus)
이벤트
■GetFocus
■LostFocus
프로그램에서 현재 포커스 알기
■Screen.ActiveControl
■Screen.ActiveForm
If TypeOf Screen.ActiveControl Is TextBox Then
프로그램........
End If
탭 순서(Tab Order)
포커스의 이동 순서(TAB 키를 사용)
속성 TabIndex as Integer
■순서를 0에서부터 차례로 지정
속성 TabStop as Boolean
■TRUE : 포커스를 얻을 수 있는 컨트롤
■FALSE : 포커스를 얻을 수 없는 컨트롤
한글 비주얼베이직 6
4장. 컨트롤과 친숙해지자
@. 컨트롤 기본
꼭 알아야 하는 속성들
폼에서의 동작
■Name - 객체명
■Enabled - 사용가능, False이면 회색
■Visible - 보임 여부
Left
x
(0,0)
■TabIndex
크기와 위치
y
Width
Height
■Height, Width
■Left, Top
Top
꼭 알아야 하는 속성들
나타나는 모양
■Caption(Text) - 화면에 보여지는 문자열
■BorderStyle - 컨트롤의 외곽선의 모양
■BackColor - 배경색
■BackStyle
Opaque - 가려진 영역을 안보이게 (기본)
Transparent - 가려진 부분을 투명하게 처리
■ForeColor - 전경색/글자색
■Font - 글꼴
꼭 알아야 하는 속성들
선택 결과 알아내기
■Text : 선택결과가 문자열인 경우
■Value : 선택결과가 문자열이 아닌 경우
단축키 지정
■Caption 속성에서 지정
■&{문자} 로 입력하면 문자에 밑줄이 표시
■lblLabel.Caption = “열기 (&O)”
한글 비주얼베이직 6
4장. 컨트롤과 친숙해지자
2. 문자의 표시와 입력
레이블(Label)
Caption : 출력될 문자열을 지정
AutoSize : 입력문자열에 따라 크기를 자동
조정
WordWrap : 경계에서 줄바꿈
AutoSize와 WordWrap을 동시에 사용하는
것이 효율적
Caption 속성이 없는 컨트롤에 단
축키 지정
레이블은 포커스를 가질 수 없음.
Caption 속성이 없으면 단축키를 지정 불가
레이블에 단축키를 지정하면 TabOrder 순
서에서 다음의 컨트롤이 포커스를 가지게
됨.
텍스트 박스(TextBox)
Locked : 입력 불가
■Enable = False도 사용가능
Text : 입력된 문자열
MaxLength : 최대 입력 길이
PasswordChar : 비밀번호 입력시 사용
■지정하면 입력 내용이 보이지 않게 된다.
MultiLine : 여러줄 입력 여부
텍스트 박스(TextBox)
vbCrLf
■줄바꿈 문자
■MultiLine 속성이 True
txtMe.MultiLine = True
txtMe.Text = “첫번째 출” & CrLf & “두번째줄”
텍스트 박스(TextBox)
커서의 이동과 선택
■SelStart : 커서의 위치
■SelLength : 커서에서 부터 선택된 영역의 길이
txtMe.SelStart = Len(txtMe) ‘ 커서가 끝에 나타남
txtMe.SelStart = 0
txtMe.SelLength = Len(txtMe) ‘ 전체가 선택됨
한글 비주얼베이직 6
4장. 컨트롤과 친숙해지자
 3. 선택하기(1)
명령버튼(Command Button)
Caption
■버튼의 이름
■단축키 지정이 가능
Default
■엔터 입력시 눌린 것으로 처리
■버튼의 윤곽이 두껍게 나타남.
Cancel
■ESC 입력시 눌린 것으로 처리
명령버튼(Command Button)
버튼의 선택 방법
■마우스로 클릭
■포커스를 가지게 한후 엔터/스페이스바
■속성 Value = True
■이벤트 프로시저를 직접 호출
call cmdOpen_Click
체크박스(CheckBox)
대상의 선택 여부를 입력시 사용
Grayed 상태 : 일부를 선택함을 의미
Caption : 제목
Value : 선택 여부
■0 : UnCkecked
■1 : Checked
■2 : Grayed
옵션버튼(OptionButton)
여러가지 중 하나만 선택할 때 사용
■프레임을 사용 : 한개 폼에 여러개 그룹을 생성
Caption : 옵션의 제목
Value : 선택여부, True or False
프레임(Frame)
관련된 기능을 함께 묶는데 사용
컨테이너로 동작
■컨테이너 안의 컨트롤은 밖으로 나갈 수 없다.
■컨테이너와 함께 모든 컨트롤이 이동한다.
■컨테이너가 삭제되면 포함된 컨트롤도 삭제됨.
반듯이 프레임을 먼저 그린 후 컨트롤을 올
려 놓는다.
한글 비주얼베이직 6
4장. 컨트롤과 친숙해지자
4. 선택하기(2)
리스트박스와 콤보박스
(ListBox & ComboBox)
리스트 박스
■목록이 항상 나타남
■다중선택 가능
콤보박스
■텍스트박스와 리스트박스의 결합된 형태
■텍스트박스에 입력 또는 리스트박스에서 선택
이 모두 가능
리스트박스와 콤보박스 - 공통속성
Sorted : 항목이 자동으로 정렬되도록 지정
Text : 선택된 문자열
■리스트박스에서 다중 선택시 Selected 속성을
사용하여 각 항목을 테스트
List(index) : 목록에 포함된 문자열의 배열
■배열 : 동일한 자료형의 연속된 자료구조
■목록의 첫번째를 0으로 인식한다.
ListIndex : 목록에서 최근에 선택된 항목
리스트박스와 콤보박스 - 공통속성
ListCount : 목록에 포함된 문자열의 수
ItemData : 각 항목에 추가적인 정보를 저장
할 수 있는 배열
■사용자에 보일 필요는 없지만 목록의 항목과
관련이 있는 정보를 보관시 사용
■예) 목록에 성명을 보여 주고 선택시 선택된
사람의 학번을 사용하여 성적을 조회하는 경우
NewIndex : 최근에 추가된 항목의 Index
리스트박스와 콤보박스 - 공통메서드
AddItem item [, index]
■목록에 새로운 항목을 추가
■index는 추가될 위치를 지정, 지정안하면 끝
■List.AddItem “사과”, 0 ‘ 목록의 처음에 추가
RemoveItem index
■index로 지정된 순서의 항목을 제거
Clear : 리스트에 포함된 모든 항목을 제거
리스트박스
Column : 리스트의 모양을 지정
MultiSelect : 다중선택 방법을 지정
없음(0)
단순형(1) : 마우스 클릭, 스페이스바 사용
확장형(2) : SHIFT+클릭, SHIFT+화살표 (연속 선택)
CTRL+클릭 (떨어진 항목의 선택)
콤보박스
Style : 콤보박스 유형을 선택
■Dropdown Combo : 입력과 선택이 모두 가능
■Simple Combo : 확장 버튼이 없는 형태
화살표키를 사용하여 항목의 선택이 가능.
■Dropdown List : 목록에서 선택만 가능
리스트박스와 콤보박스
- 항목의 추가삭제
속성창에서 List 속성을 편집
■화살표를 클릭
■내용을 입력
■줄바꿈시 Ctrl+Enter
■입력완료 후 Enter 입력
리스트박스와 콤보박스
- 항목의 추가삭제
Private Sub Form_Load
lblItem.AddItem “사과”
lblItem.AddItem “배”
End Sub
Private Sub lblItem_Click()
lblItem.RemoveItem 0
‘ 처음을 삭제
lblItem.RemoveItem lblItem.ListCount - 1 ‘ 끝을 삭제
lblItem.RemoveItem lblItem.ListIndex
‘ 선택항목 삭제
End Sub
리스트 박스 - 다중선택
Private Sub cmd_Click()
Dim I As Integer
For I = 0 To List1.ListCount - 1
Print List1.Selected(I)
Next
End Sub
스크롤바(ScrollBar) - 속성
Value : 현재 스크롤바의 위치
Min, Max : Value 속성의 최소값/최대값
■스크롤바의 이동 범위를 지정.
SmallChange : 화살표 클릭시 이동 크기
LargeChage : 나머지 영역 클릭시 이동 크기
스크롤
바박스
나머지
영력
화살표
버튼
스크롤바(ScrollBar) - 이벤트
Chage : 스크롤바의 이동 완료 후 발생
■스크롤바의 위치가 결정된 순간에 발생
■Change의 구현으로도 충분
Scroll : 스크롤바가 이동 중에 발생
■스크롤바박스를 드래그하는 동안 발생
■Scroll 이벤트의 구현 : 스크롤바막대 드래그하
는 동안 문서의 내용이 계속 변경됨.
한글 비주얼베이직 6
4장. 컨트롤과 친숙해지자
5. 그 밖의 컨트롤
타이머(Timer)
일정주기로 이벤트를 발생시키는 컨트롤
Interval : 이벤트 발생주기
■1/1000초 단위, 0 ~ 64,767까지 지정 가능
Enabled : 타이머의 동작 여부를 결정
주의
■화면에 나타나지 않음
■Timer 이벤트 프로시저를 사용
■시스템이 바쁜 경우 이벤트가 생략될 수 있다.
이미지 컨트롤과 픽처박스
(Image & PictureBox)
그림을 출력하는 두개의 컨트롤
Picture : 그림의 경로를 지정
BorderStyle : 경계선 유무
프로그램에서 그림 읽기
Control.Picture = LoadPicture(“C:\pic\MyCar.bmp”)
이미지 컨트롤과 픽처박스
(Image & PictureBox)
이미지컨트롤
■단순한 그림의 출력에 사용되는 가벼운 컨트
롤
■Stretch : 그림의 크기를 컨트롤에 맞춤
픽처박스
■다양한 기능을 제공하는 강력한 컨트롤
■컨테이너로 동작
■AutoSize : 컨트롤의 크기를 그림에 맞춤
도형과 선 컨트롤(Shape & Line)
가벼운 컨트롤 : 적은 자원사용, 빠른 출력
Shape : 도형의 모양
BorderColor : 경계선 색상
FillColor : 내부의 색상
BorderStyle : 경계선의 모양
BorderWidth : 경계선의 두께, 숫자로 지정