먼저 비주얼베이직을 실행하고 '표준 EXE'를 선택하면 빈 폼이 열립니다. (앞으로 특별히 언급하지 않으면 항상 '표준 EXE' 상태
로 프로그램을 시작하기로 약속하죠.)
빈 폼에 텍스트박스 컨트롤을 아래 그림과 같이 추가합니다.(어떻게 하시는지 아시죠? 이미 앞에서 실습했습니다.)
그리고 오른쪽 하단에 속성 창을 보세요. 이미 이전에 실습해서 아시겠지만 여러 속성의 이름과 기본적인 속성 값들이 보입니다.
5
텍스트 박스 컨트롤의 속성들을 자세히 살펴보면 모두 43 가지나 됩니다. 이 중에서 우리는 지난 시간에 이름 속성과 Text 속성
등을 바꿔봤습니다. 그 외에 텍스트 박스에 입력 또는 표시되는 글꼴의 모양을 변경할 수 있는 Font 속성, 텍스트 박스 테두리
모양을 변경할 수 있는 BorderStyle 속성, 배경색을 바꿀 수 있는 BackColor 속성 등 매우 많습니다.
각각의 컨트롤은 이많큼 많은 속성을 가지고 있습니다. 그럼 이 모든 속성을 다 외워야 하는가? 시간이 남아도시는 분은 그렇게
하셔도 될 것입니다. 그러나 대개의 경우 몇 가지 자주 사용하는 속성만 기억하고 나머지 속성들은 대충 그러한 것들이 있다는
것만 알아두시면 됩니다. 비주얼베이직으로 프로그래밍을 여러번 하다가 보면 자연스레 여러 속성에 대해 속속들이 알게될 것이
기 때문입니다
속성을 바꾸는 방법은 두 가지가 있습니다. 먼저 기본적으로 위와 같은 속성 창에서 직접 그 값을 바꾸는 방법이 있습니다.
또 다른 방법으로는 코드 창에서 직접 바꾸는 방법이 있습니다. 실제 프로그램이 실행되는 도중에 사용자에 의해 속성값을 바꿔
야할 경우에 주로 사용되죠.
혹시 지난 강좌 실습 기억나시나요? <눌러봐> 버튼을 눌렀을 때 텍스트박스에 "뭘 봐?"라고 표시되었죠. 텍스트박스를 만들면 기
본적으로 Text 속성의 속성 값이 "Text1"입니다. 이것을 프로그래머가 처음에 ""(빈칸)으로 바꿨습니다. 그리고 사용자가 프로그
램을 실행하고 <눌러봐> 버튼을 눌렀을 때 ""(빈칸)이던 Text 속성값이 "뭘 봐?"로 바뀐 것이죠? 이해가 되시는지요?...... 이해가
될 때까지 이 문장 반복해서 보시길...
메서드는 영어로 method, 말 그대로 '방법'이라는 뜻입니다. 즉 어떤 개체(컨트롤)를 실행하는 방법을 말합니다. 어떤 폼을 보이
게 할 수도 있고, 숨기게 할 수도 있고, 그림을 그리거나 이동시킬 수도 있죠.
자, 그럼 폼 위의 Text1 텍스트 박스를 더블클릭하여 코드 창을 열어보세요.
그러면 아래와 같이 Private Sub Text1_Change( ) 함수가 기본적으로 나오죠.
그 아래 줄에 다음과 같이 Text2.을 입력합니다. 그러면 점(.)을 입력하는 순간 아래 그림과 같이 무언가를 선택할 수 있는 목록
6
이 나타나죠. 이 목록이 바로 속성과 메서드 목록입니다. 검은 색 글씨만으로 된 것이 속성이고 녹색 아이콘이 붙어있는 것이 바
로 메서드입니다.
목록에서 SetFocus 메서드를 선택해서 Text2.SetFocus 라는 문장을 완성하세요.
Private Sub Text1_Change()
Text2.SetFocus
End Sub
이제 뜻을 살펴볼까요?
Text1 이라는 텍스트 박스에 Change 이벤트가 발생하면, 즉 텍스트 박스의 내용을 변경하면
Text2 라는 텍스트 박스로 포커스를 옮겨라, 즉 Text2 텍스트 박스로 커서가 이동합니다.
그러면 이제 [F5]를 누르거나 실행 버튼(▶)을 클릭하여 프로그램을 실행해 보세요. 그런다음 Text1 이라고 씌어진 부분에 글자
를 입력해 보세요. 단 한자를 입력하자마자 커서가 Text2 로 이동되는 것을 알 수 있습니다.
좀 어렵죠? 메서드에 대한 적절한 예가 없어 SetFocus 메서드로 예를 들자니 다소 어렵게 느껴질 수도 있었겠습니다.
정리하자면 메서드는 개체(컨트롤 등을 말함)를 대상으로 행해질 수 있는 일종의 함수를 말합니다. 그래서 속성과 마찬가지로 항
상 그 대상이 되는 개체(위의 예에서는 Text2)를 명시하고 점(.)을 찍은 다음 뒤에 표시를 하게 됩니다.
이벤트에 대해서는 지난 강좌에서 설명드렸죠? 사용자가 행하는 어떤 '행위'라고 말입니다. 즉 커맨드 버튼을 클릭
(Command1_Click())하거나 더블클릭(Command1_DbClick)하는 행위, 텍스트 박스에 글자를 입력하거나 수정(Text1_Change())하
는 행위 등을 말합니다.
보기 메뉴에서 코드를 선택하여 코드 창을 열어봅시다.(코드 창을 여는 방법은 이 외에도 여러 가지가 있습니다. 폼을 더블클릭
하거나 특정 컨트롤을 더블클릭해도 열립니다.)
아래 그림과 같은 코드 창에서 Text1 이라고 표시된 부분이 '개체' 목록을 나타내는 부분입니다. 쉽게 말하면 컨트롤 이름이라고
할 수 있습니다. (개체는 컨트롤보다는 광범위한 개념입니다만, 이것저것 다 설명하자면 너무 길어지니 그냥 컨트롤과 같은 것이
라고만 생각해주시기 바랍니다.) 현재 폼 위에 텍스트 박스를 두 개 그려넣었으니 Form1, Text1, Text2 라고 세 개의 개체가 표시
될 것입니다.
오른쪽의 Change 라고 표시된 부분은 '프로시저' 목록입니다. 쉽게 말하면 이벤트라고 할 수 있습니다.
우리가 폼 위에 컨트롤을 만들고 더블클릭하여 폼 창을 열면 기본적으로 가장 자주 실행되는 이벤트 프로시저가 표시됩니다. 예
를 들어 커맨드 버튼을 더블클릭하면 클릭 이벤트가 기본적으로 표시되고, 텍스트 박스 이벤트를 클릭하면 Change 이벤트가 기
본적으로 표시됩니다
댓글 없음:
댓글 쓰기