OptionButton( ) 과 CheckBox( ) 옵션버튼은여러가지의선택사항이있을때그중에서하나만을선택해야할필요가있을때사용 체크상자는예 / 아니오, 참 / 거짓을선택하기위해사용 Option 과 CheckBox 는주로비슷한역할을하지만, 다음과같은차이점 Option 상호배타적으로중복체크가불가능하다. CheckBox 중복체크가가능하다
OptionButton( ) 과 CheckBox( ) Name( 이름 ) 속성 Alignment 체크란이표시될위치를결정 0- 왼쪽맞춤 과 1- 오른쪽맞춤 이있으며기본값은 0- 왼쪽맞춤
OptionButton( ) 과 CheckBox( ) Caption CheckBox 혹은 Option 에표시될문자열을설정 Enabled CheckBox 혹은 Option 을사용가능하게할것인가의여부를결정 속성이 True 이면선택가능한상태이고, False 이면선택불가능상태를의미
OptionButton( ) 과 CheckBox( ) Font Caption 을표시할때사용할글꼴을설정한다. Value CheckBox 혹은 Option 의체크상태 CheckBox 와 Option 간에차이가있으며다음은 Value 값에따른상태의예 CheckBox Option
OptionButton( ) 과 CheckBox( ) Vislble CheckBox 혹은 Option 을보여줄것인가의여부를결정 이값이 True 로설정되어있으면 CheckBox 혹은 Option 이시각적으로보이게되며, False 로설정되어있으면보이지않게된다. 기본값은 True 로되어있다. Left, Top, Width, Height CheckBox 혹은 Option 의위치와크기를결정하는속성 디자인시에는마우스로위치및크기를조정
실습 2-9 OptionButton 을이용한해당문자열을출력 컨트롤이름컨트롤종류사용된속성 Form1 출력 Option1 Option2 Option3 Form Lable OptionButton OptionButton OptionButton ( 이름 ) = From1 Caption = ( 이름 ) = 출력 Caption = ( 이름 ) = Option1 Caption = 안녕하세요? ( 이름 ) = Option2 Caption = 비주얼베이직 ( 이름 ) = Option3 Caption = Programing 버튼 CommandButton ( 이름 ) = 버튼 Caption = 확인
실습 2-9 1 2 새프로젝트를생성 OptionButton을다음과같이 3개를해당 Form에추가한후각각의 OptionButton의속성을변경 Option1:( 이름 ) Option1, Caption 안녕하세요? Option2:( 이름 ) Option2, Caption 비주얼베이직 Option3:( 이름 ) Option3, Caption Programing
실습 2-9 3 Form 에 Label 을위치한후 ( 이름 ) 과 Caption 을다음그림과같이수정 출력될문자의 Font 는해당 Label 의속성 Font 에서수정 출력될문자의수나크기를고려하여적당한크기로 Drag
실습 2-9 4 Option 의해당문자열이출력될명령버튼 (CommandButton) 을추가한후속성을다음과같이변경
실습 2-9 5 프로젝트의코드보기를열어버튼에다음과같이 Coding
실습 2-10 체크박스를선택해서 visual basic 6.0" 문자열의폰트속성을변경하는프로그램을실습
실습 2-10 실행방법 두개의체크박스를선택할수있는상태 굵게 체크박스만을선택하면문자열의굵기가굵어진다
실습 2-10 실행방법 기울임꼴 체크박스만을선택하면문자열이기울어진다 굵게 체크박스와 기울임꼴 체크박스를모두선택하면문자열이굵고기운꼴이된다
실습 2-10 CHECK BOX 프로그램에사용된컨트롤과속성표 컨트롤이름 컨트롤종류 사용된속성 frmcheckbox lblcheckbox chkbold 폼 라벨 체크박스 (Name) = frmcheckbox Caption = CHECK BOX (Name) = lblcheckbox Caption = Visual Basic 6.0 Font (Size) = 20 (Name) = chkbold Caption = 굵게 chkitalic 체크박스 (Name) = chkitalic Caption = 기울임꼴
실습 2-10 코드프로시져작성 굵게 체크박스를체크 Private Sub chkbold_click() ' 만일체크가되면 If chkbold.value Then lblcheckbox.fontbold = True ' 체크가해제되면 Else lblcheckbox.fontbold = False End If End Sub ' 라벨의글씨를굵게 ' 원래의굵기로 기울임꼴 체크박스를체크 Private Sub chkitalic_click() ' 만일체크가되면 If chkitalic.value Then lblcheckbox.fontitalic = True ' 라벨의글씨를기울게 ' 체크가해제되면 Else lblcheckbox.fontitalic = False ' 원래의글씨체로 End If End Sub
실습 2-11 체크박스를선택해서픽쳐박스의배경색속성을변경하는프로그램을실습
실습 2-11 색상체크 프로그램에사용된컨트롤과속성표 컨트롤이름 frmcolor chkblue 폼 컨트롤종류 체크박스 사용된속성 (Name) = frmcolor Caption = 색상체크 (Name) = chkblue Caption = "" chkgreen 체크박스 (Name) = chkgreen Caption = "" chkred 체크박스 (Name) = chkred Caption = ""
실습 2-11 코드프로시져작성 일반선언부 Dim Red As Integer Dim Green As Integer Dim Blue As Integer ' 빨강색의변화를저장 ' 녹색의변화를저장 ' 파랑색의변화를저장 changeback 프로시져 Private Sub changeback() End Sub ' 픽쳐박스와체크박스의배경색을설정 Picture1.BackColor = RGB(Red, Green, Blue) chkred.backcolor = RGB(Red, Green, Blue) chkgreen.backcolor = RGB(Red, Green, Blue) chkblue.backcolor = RGB(Red, Green, Blue)
실습 2-11 코드프로시져작성 폼이로드될때 Private Sub Form_Load() Call changeback End Sub 세개의체크박스중최상단의체크박스를선택했을때 Private Sub chkred_click() End Sub ' 만일체크가되면 If chkred.value Then Red = Red + 255 Call changeback ' 체크가해제되면 Else Red = Red - 255 Call changeback End If
실습 2-11 코드프로시져작성 세개의체크박스중중간에위치한체크박스를선택했을때 Private Sub chkred_click() End Sub ' 만일체크가되면 If chkred.value Then Red = Red + 255 Call changeback ' 체크가해제되면 Else Red = Red - 255 Call changeback End If
실습 2-11 코드프로시져작성 세개의체크박스중중간에위치한체크박스를선택했을때 Private Sub chkgreen_click() End Sub ' 만일체크가되면 If chkgreen.value Then Green = Green + 255 Call changeback ' 체크가해제되면 Else Green = Green - 255 Call changeback End If
실습 2-11 코드프로시져작성 세개의체크박스중최하단의체크박스를선택했을때 Private Sub chkblue_click() End Sub ' 만일체크가되면 If chkblue.value Then Blue = Blue + 255 Call changeback ' 체크가해제되면 Else Blue = Blue - 255 Call changeback End If
실습 2-12 옵션버튼을선택해서 Visual Basic 6.0 문자열의폰트크기속성과색상속성을변경하는프로그램을실습
실습 2-12 OPTION BUTTON 프로그램에사용된컨트롤과속성표 컨트롤이름컨트롤종류사용된속성 frmoptionbutton lbloptionbutton fracolor frasize optred optblue optyellow opt10 opt16 opt24 폼라벨프레임프레임옵션버튼옵션버튼옵션버튼옵션버튼옵션버튼옵션버튼 (Name) = frmoptionbutton Caption = OPTION BUTTON (Name) = lbloptionbutton Caption = Visual Basic 6.0 Font = 굵게, 24 (Name) = fracolor Caption = 색 (Name) = frasize Caption = 크기 (Name) = optred Caption = 빨강 (Name) = optblue Caption = 파랑 (Name) = optyellow Caption = 노랑 (Name) = opt10 Caption = 10 (Name) = opt16 Caption = 16 (Name) = opt24 Caption = 24
실습 2-12 코드프로시져작성 빨강 옵션버튼을선택 Private Sub optred_click() ' 라벨의폰트색상을빨강으로 lbloptionbutton.forecolor = RGB(255, 0, 0) End Sub 파랑 옵션버튼을선택 Private Sub optblue_click() ' 라벨의폰트색상을파랑으로 lbloptionbutton.forecolor = RGB(0, 0, 255) End Sub
실습 2-12 코드프로시져작성 노랑 옵션버튼을선택 Private Sub optyellow_click() ' 라벨의폰트색상을노랑으로 lbloptionbutton.forecolor = RGB(0, 255, 0) End Sub 10 옵션버튼을선택 Private Sub opt10_click() ' 라벨의폰트크기를 10 으로 lbloptionbutton.fontsize = 10 End Sub
실습 2-12 코드프로시져작성 16 옵션버튼을선택 Private Sub opt16_click() ' 라벨의폰트크기를 16 으로 lbloptionbutton.fontsize = 16 End Sub 24 옵션버튼을선택 Private Sub opt24_click() ' 라벨의폰트크기를 24 으로 lbloptionbutton.fontsize = 24 End Sub
PictureBox( ) 와 Image( ) 그래픽또는텍스트를표시하기위한컨트롤 PictureBox 컨트롤이 Image 컨트롤보다많은기능을지원 PictureBox 의주요속성 Name( 이름 ) 속성 Align( 정렬 ) 속성 폼의어느위치에위치할것인지를결정 값 설명 0 - 없음 화면상의어떠한위치에도배치할수있다. 1 - 위맞춤 폼의위쪽에배치된다. 이때, PictureBox의 Width 속성은폼의너비에맞춰진다. 2 - 아래맞춤 폼의아래쪽에배치된다. 이때, PictureBox의 Width 속성은폼의너비에맞춰진다. 3 - 왼쪽맞춤 폼의왼쪽에배치된다. 이때, PictureBox의 Height 속성은폼의높이에맞춰진다. 4 - 오른쪽맞춤 폼의오른쪽에배치된다. 이때, PictureBox의 Height 속성은폼의높이에맞춰진다.
PictureBox( ) 와 Image( ) PictureBox 의주요속성 Align( 정렬 ) 속성 Align 속성값을 '1 - 위맞춤 ' 으로설정했을때의예
PictureBox( ) 와 Image( ) PictureBox 의주요속성 Appearance 속성 PictureBox 컨트롤이어떤모양을갖는지를설정 값은 '0 - 평면 ' 과 '1-3D' 의두가지값을가질수있으며기본값은 '1-3D' 로설정
PictureBox( ) 와 Image( ) PictureBox 의주요속성 BackColor 속성 PictureBox 컨트롤의배경색을지정 Enabled 속성 PictureBox 컨트롤의사용가능여부를결정 'False' 로설정되어있으면 PictureBox 컨트롤을사용할수없게된다. Picture 속성 PictureBox 에표현할그래픽파일을설정 '...' 버튼을누르면그래픽파일을불러올수있는대화상자
PictureBox( ) 와 Image( ) PictureBox 와 Image 컨트롤의차이점 표시할그림의비트맵정보를저장하는속성 Image 컨트롤은비트맵이미지를저장하는것을목적으로하는컨트롤 PictureBox 는비트맵이미지뿐만아니라그래픽메소드까지함께포함하며, 경우에따라프레임처럼컨트롤들을그룹화 이미지컨트롤의주요속성 프로그램실행시 LoadPicture 함수를이용해서이미지컨트롤에그림을불러오거나다른이미지컨트롤의그림을불러오는방법 Stretch 속성이 True 로설정되면프로그램실행시에그이미지의크기를조정할수있는데 Width( 폭 ) 속성과 Height( 높이 ) 속성을이용
실습 2-12 이미지를단추를눌러서크거나작게나타내기위한프로그램을실습
실습 2-12 실행방법 커짐 버튼을눌렀을경우일정크기만큼씩이미지의크기가늘어난다. 이미지의폭이폼의크기만큼늘어나면 커짐 버튼은비활성화되어더이상늘어나지않는다. 작아짐 버튼을누르면일정크기만큼씩이미지의크기가줄어든다. 이때비활성화되었던 커짐 버튼은다시활성화된다.
실습 2-12 IAMGE 프로그램에사용된컨트롤과속성 컨트롤이름컨트롤종류사용된속성 frmimage imgcar cmdbig 폼 이미지 명령버튼 (Name) = frmimage Caption = IMAGE (Name) = imgcar Picture = CLOCk05.Ico Stretch = True (Name) = cmdbig Caption = 커짐 cmdsmall 명령버튼 (Name) = cmdsmall Caption = 작아짐
실습 2-12 코드프로시져작성 커짐 버튼을선택 Private Sub cmdbig_click() ' 이미지의폭이폼의크기보다작을때까지만실행 If imgcar.width < frmimage.scalewidth Then imgcar.width = imgcar.width + 100 ' 이미지의폭을늘임 imgcar.height = imgcar.height + 100 ' 이미지의높이를늘임 ' 이미지의폭이더커지고작아질수있으므로 cmdbig.enabled = True cmdsmall.enabled = True Else ' 더이상커질수없으므로 cmdbig.enabled = False End If End Sub
실습 2-12 코드프로시져작성 작아짐 버튼을선택 Private Sub cmdsmall_click() ' 이미지의폭이임의의크기가있을때까지실행 If imgcar.height > 84 Then imgcar.width = imgcar.width - 100 ' 이미지의폭을줄임 imgcar.height = imgcar.height - 100 ' 이미지의높이를줄임 ' 이미지의폭이더커지고작아질수있으므로 cmdsmall.enabled = True cmdbig.enabled = True Else ' 더이상작아질수없으므로 cmdsmall.enabled = False End If End Sub
ListBox( ) 와 ComboBox( ) ListBox 컨트롤은사용자가선택할수있는리스트들의스크롤목록을표시할수있게해주는컨트롤 ComboBox 컨트롤은글상자와리스트상자가결합되어있는형태 글상자에서자료를입력하거나리스트상자에서하나의항목을선택
ListBox( ) 와 ComboBox( ) 특징과장단점 특징 ListBox 여러목록가운데하나혹은여러개를선택한다. ComboBox TextBox 와 ListBox 의혼합형으로, 직접입력을받을수도있고, ListBox 처럼목록에서고를수도있다. 장점목록을한눈에보여준다직접입력을받을수있으며 ListBox 보다공간을적게차지한다. 단점공간을많이차지한다목록을보기위해서는콤보박스를열어야 (Drop Down) 한다. ListBox 의주요속성 Columns 속성 리스트박스목록의컬럼의개수를설정
ListBox( ) 와 ComboBox( ) ListBox 의주요속성 Columns 속성 세가지유형의값 0 1 2 이상 Columns 속성의값 수직스크롤바를갖는단일컬럼의리스트를보여준다. 항목들은수직으로배열되며리스트박스의높이보다항목들이많은경우에는수직스크롤바가생성된다. 수평스크롤바를갖는단일컬럼의리스트를보여준다. 리스트박스의넓이보다항목들이많은경우, 수평스크롤바가생성된다. 수평스크롤바를갖는다중컬럼리스트를보여준다. 다음은 Columns 가 2 이상으로설정된 ListBox
ListBox( ) 와 ComboBox( ) ListBox 의주요속성 List 속성 ListBox 에표시될항목들을직접입력 항목을입력할때는 Ctrl+Enter 키를눌러입력 MultiSelect 속성 ListBox 에서다중선택을허용여부를결정하는속성 MultiSelect 속성의값 0 - 없음목록중에서단지하나의항목만을선택할수있게허용한다. 다중선택은불가 1 - 단순형 2 - 확장형 다중선택을허용한다. 선택하고자하는항목들을마우스로클릭하여두개이상의항목을선택한다. 다중선택을허용한다. 이때, 마우스드래그를이용한다중선택을허용한다.
ListBox( ) 와 ComboBox( ) ListBox 의주요속성 Sorted 속성 목록을표시해줄때, 항목들을정렬할것인지의여부를결정하는속성 True 로설정되어있으면항목들을자동으로가나다순으로 ( 혹은 ABC 순으로 ) 정렬 Style 속성 리스트박스의스타일을지정 속성이 1 일경우에는리스트박스의각아이템좌측에사각형의확인란이발생 값 설명 0 - 표준 ( 기본값 ) 표준형태 1 - 확인란좌측에확인란을나타나게한다.
ListBox( ) 와 ComboBox( ) ListBox 의주요기능들 세가지메소드 AddItem, RemoveItem 과 ClearStyle 속성 중요한프로퍼티 List 와 ListIndex, ListCount 중요한이벤트 Click 이벤트 종류속성설명 AddItem 아이템을추가한다. 메소드 RemoveItem 아이템을삭제한다. Clear 아이템을전부삭제한다. 프로퍼티 List ListIndex ListCount 아이템의문자열배열 선택된아이템번호 리스트박스에포함된아이템의갯수 이벤트 Click 선택된아이템인덱스가변경되었을때
ListBox( ) 와 ComboBox( ) ListBox 의주요기능들 AddItem 메소드 리스트박스에아이템을하나추가하는메소드 object.additem 문자열 [,index] 첫번째인수는추가할아이템을나타내는문자열, 두번째인수는추가할위치 RemoveItem 메소드 리스트박스에서지정된위치의아이템을삭제 object.removeitem index Clear 메소드 리스트박스에포함된모든아이템을삭제 object.clear ListCount 는리스트박스에몇개의아이템이있는가를나타내는속성 ListIndex 는현재몇번아이템을선택하고있는가를나타내는속성 List 는리스트박스에저장된문자열들을모두저장하고있는문자열형배열
ListBox( ) 와 ComboBox( ) 아이템의다중선택 리스트박스에서다중선택이가능한가의여부 다중선택이가능하도록하기위해서는 MultiSelect 프로퍼티나 Style 프로퍼티를적당한값으로지정 MultiSelect 프로퍼티는가장단순하게다중선택기능을사용 단순한다중선택은마우스의클릭으로아이템의선택과해제의토글 (Toggle) 되는모드 Shift 키와조합하여한번에여러개의아이템을선택하는것이가능 키과마우스버튼을눌러이미선택된아이템에서한항목씩선택을해제 값 설명 0 - 없음 ( 기본값 ) 다중선택허용금지 1 - 단순형단순한다중선택 2 - 확장형확장된다중선택
ListBox( ) 와 ComboBox( ) ComboBox 의주요속성 ComboBox 는대부분의경우, ListBox 와동일한기능의속성 Style 속성이리스트박스와차이가있다. Style 속성 Style 속성의값 0 - 드롭다운콤보 1 - 단순콤보 흔히볼수있는콤보박스로오른쪽에있는 버튼을누르면목록이펼쳐지는스타일이다. 단순히텍스트박스컨트롤아래리스트박스를추가한모습이다. 2 - 드롭다운콤보 0 번과비슷하지만, 텍스트입력을할수없도록되어있다.
실습 2-14 ListBox 를이용한 List 선택값을 Label 에출력 컨트롤이름 Form1 출력 List1 버튼 컨트롤종류 Form Lable ListBox CommandButton 사용된속성 ( 이름 ) = From1 Caption = ( 이름 ) = 출력 Caption = ( 이름 ) = List1 List = 안녕하세요? 비주얼베이직 Programing ( 이름 ) = 버튼 Caption = 출력
실습 2-14 새프로젝트를생성 Form 에 Label 을위치시킨후 ( 이름 ) 과 Caption 을다음그림과같이수정 문자의 Font 는해당 Label 의속성 Font 에서수정 문자의수나크기를고려하여적당한크기로 Drag
실습 2-14 LixtBox 를선택하여 Form 에위치 ListBox 에리스트항목을추가
실습 2-14 CommandButton 을 Form 에추가한후다음과같이속성을변경
실습 2-14 코드보기를열어버튼에다음과같이 Coding Private Sub 버튼 _Click() Dim test As String If List1.Text = " 안녕하세요?" Then test = " 안녕하세요?" 출력.Caption = test End If If List1.Text = " 비주얼베이직 " Then test = " 비주얼베이직 " 출력.Caption = test End If If List1.Text = "Programing" Then test = "Programing" 출력.Caption = test End If End Sub
실습 2-15 ComboBox 를이용한환전프로그램을작성 컨트롤이름 Form1 환전값 Combo1 Form Lable 컨트롤종류 ComboBox 버튼 CommandButton Label1 Label2 Label3 Text1 Label Label Label TextBox 사용된속성 ( 이름 ) = From1 Caption = ( 이름 ) = 환전값 Caption = ( 이름 ) = Combo1 List = 달러엔화위안화프랑 ( 이름 ) = 버튼 Caption = 확인 ( 이름 ) = Label1 Caption = 환전프로그램 ( 이름 ) = Label2 Caption = 금액 ( 이름 ) = Label3 Caption = 원 ( 이름 ) = Text1 Caption =
실습 2-15 새프로젝트를생성 Label 을 Form 에추가하여 Caption 을다음과같이변경 글꼴은 Font 에서수정하며글씨의색상은 ForeColor 에서변경하며 Label 의뒷배경색은 BackColor 에서수정
실습 2-15 금액을입력할 TextBox 를 Form 에추가한후속성에서 Text 를공백으로설정 ComboBox 를선택하여 Form 에추가
실습 2-15 ComboBox 에리스트항목을추가 CommandButton 을추가한후속성창에서속성을다음과같이변경
실습 2-15 환전에대한결과값을나타낼 Label 을 Form 에추가한후다음과같이속성을변경 원 은 Label 의 Caption 값만준것이다.
실습 2-15 코드보기를클릭하여다음과같이 Coding Private Sub 버튼 _Click() If Combo1.Text = " 달러 " Then 환전값.Caption = CLng(Text1.Text * 1300) End If If Combo1.Text = " 엔화 " Then 환전값.Caption = CLng(Text1.Text * 800) End If If Combo1.Text = " 위안화 " Then 환전값.Caption = CLng(Text1.Text / 10) End If If Combo1.Text = " 프랑 " Then 환전값.Caption = CLng(Text1.Text * 600) End If End Sub
실습 2-16 텍스트박스에각사항들을입력하고 등록 버튼을누르면오른쪽리스트박스에차례로등록되는프로그램을실습
실습 2-16 실행방법 성명 란부터입력이가능하며다음칸으로이동시에는 Enter 키도가능 성명, 나이, 성별 란을모두입력하고마우스로등록버튼을선택하면오른쪽리스트박스에입력사항이등록
실습 2-16 LIST BOX 프로그램에사용된컨트롤 컨트롤이름컨트롤종류사용된속성 frmlistbox lblname lblage lblsex txtname txtage txtsex cmdreg 폼 라벨 라벨 라벨 텍스트박스 텍스트박스 텍스트박스 명령버튼 (Name) = frmlistbox Caption = LIST BOX (Name) = lblname Caption = 성명 (Name) = lblage Caption = 나이 (Name) = lblsex Caption = 성별 (Name) = txtname Text = (Name) = txtage Text = (Name) = txtsex Text = (Name) = cmdreg Caption = 등록 lstrep 리스트박스 (Name) = lstrep
실습 2-16 코드프로시저작성 등록버튼을선택 Private Sub cmdreg_click() ' 텍스트박스에입력되내용들을리스트박스에추가 lstrep.additem txtname.text & : & txtage.text & : & txtsex.text ' 리스트에추가되면다시입력받기위해텍스트박스의내용을지움 txtname.text = txtage.text = txtsex.text = ' 성명텍스트박스에커서를옮김 txtname.setfocus End Sub 성명입력시 Enter 값을입력 Private Sub txtname_keypress(keyascii As Integer) ' 만일엔터키가입력되면나이텍스트박스로커서를옮김 If KeyAscii = 13 Then txtage.setfocus End If End Sub
실습 2-16 코드프로시저작성 나이입력시 Enter 값이입력 Private Sub txtage_keypress(keyascii As Integer) ' 만일엔터키가입력되면성별텍스트박스로커서를옮김 If KeyAscii = 13 Then txtsex.setfocus End If End Sub 성별입력시 Enter 값이입력 Private Sub txtsex_keypress(keyascii As Integer) ' 만일엔터키가입력되면등록명령버튼으로커서를옮김 If KeyAscii = 13 Then cmdreg.setfocus End If End Sub
실습 2-16 왼쪽리스트박스의리스트들을체크한후 추가 버튼을눌러서체크된리스트항목들을오른쪽리스트박스에등록 오른쪽리스트박스에서리스트를선택한후 삭제 버튼을눌러서선택된리스트항목을삭제 리스트박스에서리스트항목을더블클릭하면선택된리스트항목을메시지박스로표시하는프로그램을실습
실습 2-16 실행방법 왼쪽의리스트박스에리스트항목들이나열 왼쪽의리스트박스에서리스트항목들을선택하면체크박스처럼체크표시가나타난다.
실습 2-16 실행방법 추가 버튼을누르면선택된리스트항목들이오른쪽리스트박스에등록되면서체크표시는사라진다 오른쪽리스트박스에서리스트항목을선택하고 삭제 버튼을누르면선택된리스트항목은사라진다
실습 2-16 실행방법 삭제하여사라진 List Index Number(3) 항목을왼쪽리스트박스에서다시추가 오른쪽리스트박스에서임의의리스트항목을더블클릭하면그항목을메시지박스로나타낸다.
실습 2-16 리스트추가삭제 프로그램에사용된컨트롤과속성표 컨트롤이름 frmlistadddel 폼 컨트롤종류 사용된속성 (Name) = frmlistadddel Caption = 리스트추가삭제 cmdinput 명령버튼 (Name) = cmdinput Caption = 추가 cmddel lstrep 명령버튼 리스트박스 (Name) = cmddel Caption = 삭제 (Name) = lstrep Style = 1 - 확인란 lstchoice 리스트박스 (Name) = lstchoice MultiSelect = 2 - 확장형 Sorted = True
실습 2-17 코드프로시저작성 폼이로드될때 Private Sub Form_Load() ' 왼쪽리스트박스에리스트항목을추가 For i = 0 To 30 lstrep.additem "List Index Number(" & i & ")" Next i End Sub 삭제 버튼을눌렀을때 Private Sub cmddel_click() ' 오른쪽리스트박스에리스트항목이존재하면 If lstchoice.listcount > 0 Then ' 선택된리스트항목을지운다. lstchoice.removeitem lstchoice.listindex End If End Sub
실습 2-17 코드프로시저작성 추가 버튼을눌렀을때 Private Sub cmdinput_click() ' 왼쪽리스트박스의리스트항목갯수만큼을비교하면서선택된리스트항목을 _ 오른쪽리스트박스에추가 For i = 0 To lstrep.listcount - 1 End Sub ' 선택된리스트항목이지를비교 If lstrep.selected(i) Then lstchoice.additem lstrep.list(i) End If Next i ' 왼쪽리스트박스에선택된리스트의체크를지움 For i = 0 To lstrep.listcount - 1 lstrep.selected(i) = False Next i
실습 2-17 코드프로시저작성 오른쪽리스트박스의리스트항목을더블클릭했을때 Private Sub lstchoice_dblclick() ' 선택된리스트항목을메시지박스로표시 MsgBox lstchoice.list(lstchoice.listindex), vbinformation + _ vbokonly, 선택 End Sub
실습 2-18 콤보박스의화살표를선택해서나타난항목을선택하면텍스트박스에선택된항목에해당하는용어설명이표시되는프로그램을실습
실습 2-18 실행방법 콤보박스에는첫번째항목인 포인터 가표시되고텍스트박스는빈문자열로표시 콤보박스의화살표를선택하면콤보박스가열리면서그안의항목들을선택
실습 2-18 실행방법 콤보박스의항목을선택하게되면선택된항목에해당하는용어설명이텍스트박스에표시
실습 2-18 COMBO BOX 프로그램에사용된컨트롤및속성 컨트롤이름컨트롤종류사용된속성 frmcombobox cmoword 폼 콤보박스 (Name) = frmcombobox Caption = COMBO BOX (Name) = cmoword Text = txtremark 텍스트박스 (Name) = txtremark Text =
실습 2-18 코드프로시저작성 폼의일반선언부 Dim Word(20) As String Dim Remark(20) As String ' 콤보박스에표시될내용을담을배열 ' 텍스트박스에표시될내용을담을배열 폼이로드될때 Private Sub Form_Load() ' 배열 Word 의내용을설정 Word(0) = 포인터 Word(1) = PictureBox Word(2) = Label Word(3) = TextBox Word(4) = Frame Word(5) = CommandButton Word(6) = CheckBox Word(7) = OptionButton Word(8) = ComboBox
실습 2-18 코드프로시저작성 폼이로드될때 Word(9) = ListBox Word(10) = HscrollBar Word(11) = VscrollBar Word(12) = Timer Word(13) = DriveListBox Word(14) = DirListBox Word(15) = FileListBox Word(16) = Shape Word(17) = Line Word(18) = Image Word(19) = Data Word(20) = OLE ' 배열 Remark 의내용을설정 Remark(0) = 마우스포인터. Remark(1) = 그래픽을표시한다. Remark(2) = 일반적으로 Window 에표시되는사용자에게의미있는글을말한다.
실습 2-18 코드프로시저작성 폼이로드될때 Remark(3) = 단순하지만놀라운기능을갖는글편집기이다. Remark(4) = 컨트롤주위에테두리를그려컨트롤들의작동을그룹화한다. Remark(5) = Visual Basic 에서어떤일을하게만든다. Remark(6) = 몇개의선택사항중한개이상을선택할수있게해준다. Remark(7) = CheckBox 와비슷하지만한개만을선택할수있다. Remark(8) = 여러리스트를사용자에게선택하게제공하며직접입력도가능하다. Remark(9) = ComboBox 와동일하나사용자가직접입력은불가능하다. Remark(10) = 수평이동줄로아나로그형태로볼륨을조절하듯이상, 하한을조절함. Remark(11) = 수직이동줄로수평이동줄과기능상의차이점은없다. Remark(12) = 프로그램의여러부분에쓰이는타이머로강력하고정밀하다. Remark(13) = 디스크드라이브를표시하며드라이브간의이동도가능하다. Remark(14) = 디렉토리들을표시하며디렉토리간의이동도가능하다. Remark(15) = 현재디렉토리에있는파일들의목록을표시한다. Remark(16) = 여러도형을간편하고빠르게만들수있다. Remark(17) = 폼에선을추가하는방법을제공한다.
실습 2-18 코드프로시저작성 폼이로드될때 Remark(18) = 이미지박스로픽쳐박스보다는단순하게설계되었다. Remark(19) = 데이터베이스등을관리하고액세스할수있다. Remark(20) = Object Linking & Embedding 의약자로다른프로그램과의통신을제공한다. ' 배열 Word 의내용을콤보박스에추가 For i = 0 To 20 cmoword.additem Word(i) Next i ' 콤보박스가시작할때표시될내용설정 cmoword.text = Word(0) End Sub 콤보박스를선택했을때 Private Sub cmoword_click() ' 콤보박스에서선택된리스트의인덱스를 Remark 배열의인덱스로이용 _ 그배열의내용을텍스트박스에넘김 txtremark.text = Remark(cmoWord.ListIndex) End Sub
실습 2-19 세개의콤보박스들의 Style 속성을서로달리설정했을때작동되는상태를비교하는기능의프로그램을실습
실습 2-19 실행방법 실행하면 단순한콤보스타일 의콤보박스는일정한크기를가지고항목들을나타냄 늘어진콤보스타일 의콤보박스와 단순한콤보스타일 의콤보박스에는문자열을입력할수있지만 늘어진목록스타일 의콤보박스엔문자열의입력이불가능한것을나타냄
실습 2-19 콤보박스스타일 프로그램에사용된컨트롤과속성 컨트롤이름 frmcombostyle 폼 컨트롤종류 사용된속성 (Name) = frmcombostyle Caption = 콤보박스스타일 cmostyle(0) 콤보박스 (Name) = cmostyle Style = 0 - 늘어진콤보 cmostyle(1) 콤보박스 (Name) = cmostyle Style = 1 - 단순한콤보 cmostyle(3) 콤보박스 (Name) = cmostyle Style = 2 - 늘어진목록 Label1 라벨 Caption = 늘어진콤보스타일 Label2 라벨 Caption = 단순한콤보스타일 Label3 라벨 Caption = 늘어진목록스타일
실습 2-19 코드프로시저작성 폼이로드될때 Private Sub Form_Load() For i = 0 To 2 ' 컨트롤배열의인데스만큼증가 For j = 0 To 9 ' 각콤보박스마다추가할항목의수만큼증가 ' 각각의콤보박스에항목을추가 cbostyle(i).additem Item Index ( + Trim(Str(j)) + ) Next j Next I End Sub
Scrollbar(, ) 목록을좌우로이동하면서볼수있는수평스크롤바 (HscrollBar) 와목록을상하로이동하면서볼수있는수직스크롤바 (VscrollBar) 가있다. HScrollBar 와 VScrollBar 는서로모양만다를뿐사용방법은정확히일치
Scrollbar(, )
Scrollbar(, ) Scrollbar 의주요속성 Min( 최소값 ) 스크롤바가갖는가장작은값 -32,768 에서 32,767 까지의값을가질수있다. Max( 최대값 ) 스크롤바가갖는가장큰값 때에따라서는 Max 값이 Min 값보다작을수있다. Value( 값 ) 막대가어디있는지를알려주는속성 위는 Min 과 Max 속성에설정되어있는값의범위를벗어날수없다. SmallChange 사용자가스크롤양끝의화살표를눌렀을때변화하는양을지정 기본값은 1 로설정되어있으며 1 에서 32,767 까지의값
Scrollbar(, ) Scrollbar 의주요속성 LargeChange 막대와화살표사이의빈공간을눌렀을때변하는양을결정 기본값은 1 로설정되어있으며, 1 에서 32,767 까지의값을가질수있다. Scrollbar 의중요이벤트 Change 이벤트 사용자가스크롤바를움직일때발생 화살표를누르거나화살표와막대사이를눌렀을때에도발생
실습 2-20 스크롤바를이용한 PictureBox 에 RGB Color 를변화하는프로그램을작성 컨트롤이름컨트롤종류사용된속성 Form1 Form ( 이름 ) = From1 Caption = Picture1 PictureBox ( 이름 ) = Picture1 HScroll1 HScrollBar HScroll2 HScrollBar HScroll3 HScrollBar ( 이름 ) = HScroll1 Min = 0 Max = 255 ( 이름 ) = HScroll2 Min = 0 Max = 255 ( 이름 ) = HScroll3 Min = 0 Max = 255
실습 2-20 새프로젝트를생성 PictureBox 를 Form 에추가 HScroll1Bar 세개를 Form 에추가
실습 2-20 프로젝트창에서 Form1 을선택하여코드보기로코드입력창을연다. 다음과같이코딩 해당프로시저에서이벤트가 Change 로변경
실습 2-21 스크롤바를작동하여픽쳐박스의배경색을변경하며픽쳐박스안의이미지를이동시키는프로그램을실습
실습 2-21 실행방법 각스크롤단추는왼쪽과상단에위치하며픽쳐박스의배경색은검정색으로설정 세개의스크롤바를움직이면그설정에맞게픽쳐박스의배경색이변하며픽쳐박스안의이미지도함께보이기시작 픽쳐박스의우측과하단에있는스크롤바를움직이면픽쳐박스안의이미지의위치가그설정에맞게변경
실습 2-21 SCROLL BAR 프로그램에사용된컨트롤과속성 컨트롤이름컨트롤종류사용된속성 frmscrollbar 폼 (Name) = frmscrollbar Caption = SCROLL BAR picscrollbar 픽쳐박스 (Name) = picscrollbar imgscrollbar 이미지 (Name) = imgscrollbar Picture = MiSC18.ICO vsbpicture 스크롤바 (Name) = vsbpicture hsbpicture 스크롤바 (Name) = hsbpicture hsbred hsbblue hsbyellow 스크롤바 LargeChange = 10 Max = 255 Min = 0 SmallChange = 1
실습 2-21 코드프로시저작성 폼이로드될때 Private Sub Form_Load() ' 픽쳐박스에연결되있는스크롤바의 Max, LargeChange, SmallChange 속성값들을 _ 설정 hsbpicture.max = picscrollbar.scalewidth - imgscrollbar.width hsbpicture.largechange = hsbpicture.max / 20 hsbpicture.smallchange = hsbpicture.max / 50 vsbpicture.max = picscrollbar.scaleheight - imgscrollbar.height vsbpicture.largechange = vsbpicture.max / 20 vsbpicture.smallchange = vsbpicture.max / 50 ' 이미지를픽쳐박스의왼쪽상단에위치시킴 imgscrollbar.move 0, 0 ' 픽쳐박스의배경색을설정 picscrollbar.backcolor = RGB(hsbRed.Value, hsbblue.value, hsbyellow. Value) End Sub
실습 2-21 코드프로시저작성 픽쳐박스에연결된가로스크롤바가변경 Private Sub hsbpicture_change() ' 이미지를가로스크롤바의값만큼이동 imgscrollbar.left = hsbpicture.value End Sub 픽쳐박스에연결된세로스크롤바가변경 Private Sub vsbpicture_change() ' 이미지를세로스크롤바의값만큼이동 imgscrollbar.top = vsbpicture.value End Sub
실습 2-21 코드프로시저작성 hsbred 스크롤바가변경 Private Sub hsbred_change() ' 픽쳐박스의배경색을설정 picscrollbar.backcolor = RGB(hsbRed.Value, hsbblue.value, hsbyellow. Value) End Sub hsbblue 스크롤바가변경 Private Sub hsbblue_change() ' 픽쳐박스의배경색을설정 picscrollbar.backcolor = RGB(hsbRed.Value, hsbblue.value, hsbyellow. Value) End Sub hsbyellow 스크롤바가변경 Private Sub hsbyellow_change() ' 픽쳐박스의배경색을설정 picscrollbar.backcolor = RGB(hsbRed.Value, hsbblue.value, hsbyellow. Value) End Sub
Form( ) 윈도우프로그램에서기본적으로나타나는컨트롤 ' 표준 EXE' 프로젝트를열어놓고시작
Form( ) Name (Design-time Only) 해당개체의이름을정하게된다. 이름을변경한다. 변경시해당개체명을가진다.
실습 2-22 자주사용되는 Show 메소드를실습 컨트롤이름컨트롤종류사용된속성 Form1 Form2 Form2show 비주얼베이직 Form Form CommandButton Lable ( 이름 ) = From1 Caption = ( 이름 ) = Form2 Caption = ( 이름 ) = Form2show Caption = Form2 보기 ( 이름 ) = 비주얼베이직 Caption = 비주얼베이직
실습 2-22 새프로젝트를열어 Form 을하나더추가
실습 2-22 폼추가창에서폼을선택
실습 2-22 두개의 Form 이존재하는화면
실습 2-22 Form1 에 CommandButton 을추가하여 CommandButton 의속성을다음과같이변경
실습 2-22 Form1 에서코드보기를선택하여코드보기창에서 해당개체를부르고. 을입력했을때나오는목록이메소드목록
실습 2-22 두번째 Form2 에는 Label 을추가 컴파일및저장후확인
실습 2-23 자주사용되는 Hide 메소드예제를실습 클릭전과클릭후
실습 2-23 자주사용되는 Hide 메소드예제를실습 속성 컨트롤이름컨트롤종류사용된속성 Form1 Form2 Form Form ( 이름 ) = From1 Caption = ( 이름 ) = Form2 Caption = Form2Hide CommandButton ( 이름 ) = Form2Hide Caption = Form2Hide Label1 Lable ( 이름 ) = Label1 Caption = Form1 이사라지고 Form2 만보이죠?
실습 2-23 자주사용되는 Hide 메소드예제를실습 새 Form 을추가
실습 2-23 자주사용되는 Hide 메소드예제를실습 폼추가창에서폼을추가
실습 2-23 자주사용되는 Hide 메소드예제를실습 두개의 Form 이존재하는화면
실습 2-23 자주사용되는 Hide 메소드예제를실습 Form1 에 CommandButton 을추가하여 CommandButton 의속성을다음과같이변경
실습 2-23 자주사용되는 Hide 메소드예제를실습 Form1 에서코드보기를선택하여코드보기창에서 Form2Hide(CommandButton) 를선택하여다음과같이코딩 개체를부르고. 을입력했을때나오는목록이메소드목록 다음과같이 Coding
실습 2-23 자주사용되는 Hide 메소드예제를실습 Form2 에다음과같이 Label 을추가 컴파일및저장후확인