-
-
컨트롤, 프로퍼티, 객체, 매소드,
이벤트, 이벤트
프로시저
- : 가장 기본이 되는 사항이면서
가장 중요한 부분이다.
-
-
객체(Object)
▲TOP
- 윈도우에서는 모든 보이는 것이
객체이다. 폼도 객체이며, 버튼, 스크롤바, 텍스트박스, 프로그램 자체도
객체이다. 프로그램과 같은 객체는 다른 객체를 포함하기도 하며, 윈도우에서는
보이지 않는 것도 객체로 다룬다. 원래의 의미대로 하자면 Class와 Instance가
구별되어야 하지만 VB에서는 모두 한가지로 취급한다.
-
매소드(method)
▲TOP
- 매소드란 객체가 취할 수 있는
행동을 뜻한다. 많이 쓰이는 예제를 하나 설명하며 매소드를 끝마치려 한다.
메소드는 이벤트와 유사한 점이 있다. 그러나 메소드란 원래 객체에
어떤 일을 시키는 것을 의미하는 것으로, 각 객체의 타입에 따라서 사용할 수
있는 메소드의 종류가 다르다. 이를테면 폼 객체의 경우, Show라는 메소드가
있다. 이것은 자신을 보여주는 메소드이다. 또는 Hide라는 메소드를
사용하게 되면 폼은 보이지 않게 된다. 말하자면 메소드라는 것은 객체에
대해서 정의된 어떤 기능인 것이다. 다른 종류의 객체에는 사용할 수 없고,
오직 그 객체에만 사용 가능한 기능들을 말한다.
Form1.Show
Form1.Hide
Form1.Show : 메소드도 프로퍼티와 마찬가지로 [객체].[메소드]의 형태로 사용된다.
폼도 하나의 객체이다. 따라서 폼의 메소드를 갖고 있는데 대표적인 것이 Show
메소드이다. 영문에서도 알 수 있듯이 뜻은 '폼을 보여주어라'이다. 뒤의 Form1.Hide는
'폼을 숨기라'라는 명령문이다. 몇 번 써보면 대충 그 뜻을 알 수가 있다.
-
이벤트(event)
▲TOP
- 이벤트란 '사건' 을 의미한다.
우리는 윈도우95/98를 부팅 시킨 후 각종 프로그램을 사용한다. 탐색기를 열어
프로그램을 실행시킬 수도 있고 메모장을 열어 문서를 편집할 수도 있다. 윈도우는
이벤트라는 것에 의해서 움직이고, 이벤트에 의해서 시작되기도 하고 종료되기도
한다. 이벤트라는 것은 무언가에 주어지는 어떤 사건을 말한다. 예를
들어 사용자가 마우스로 메뉴의 한 버튼을 눌렀다면 이것은 버튼이 눌린 이벤트이다.
메뉴바를 마우스로 찍었다면, 마우스가 메뉴바를 찍은 이벤트이다. 윈도우에서
모든 것은 이벤트로 시작하고, 이벤트로 끝나며, 윈도우를 움직이는 유일한 동작의
시발점이다.
마우스가 어떤 객체(윈도우, 컨트롤) 위를 지나갈 때
벌어지는 Object_MouseMove 이벤트, 키보드를 누를 때 발생하는 Object_KeyDown와
Object_KeyPress, 클릭할때의 Object_Click등이 있다. 조금 더 들어가 보자.
폼은 어떻게 화면에 보여지게 되는가?
Private Sub Form_Load()
......................................
End Sub
아마 많이 보았으리라 생각한다. 이 폼로드 이벤트는 매우
중요하다. 이 이벤트의 역할은 폼을 메모리에 적재하는 것이다. 그런데 의문이
생길지도 모른다. 폼에 다른 컨트롤이나 코드를 붙이지 않고 그냥 기본폼을 F5로
실행시켜 보면 폼이 보인다. 어떻게 된 것일까?
프로그램을 실행해 보면
세가지의 이벤트가 벌어진다.
Form_Initialize, Form_Load, Form_Activate
이렇게 세개의 이벤트가 사용자의 의지와는 상관없이 차례로 발생하므로 폼은
보여진다. Form_Initialize는 폼을 초기화하는 이벤트이며, Form_Load는 폼을
메모리에 적재시키며, F
- orm_Activate는 폼을 실제로
비디오 화면에 보여주는 이벤트이다.
처음 접한다면 복잡할지도 모르겠다.
하지만 여기서 중점을 두는 것은 이러한 폼의 이벤트 순서나 기능이 아니다.
정보처리 실기 출력화면폼에서 보면 거의 MSFlexGrid폼을 사용하고 있다. 이러한
컨트롤들의 프로퍼티의 초기화 과정에 대해 이야기하고 싶은 것이다.
프로퍼티들의
초기화, 즉 변경은 '실행모드'에서 가능하다고 이미 이야기했었으며 폼을 적재한다는
Form_Load 이벤트는 컨트롤의 프로퍼티들을 초기화 할뿐만 아니라 사용자가 정의한
변수의 초기화도 가능케 하기 때문이다. Form_Load 이벤트를 잘 이용할 수 있다면
많은 것을 얻을 수 있다.
-
이벤트 프로시저(event procedure)
▲TOP
- 앞에서 윈도의 모든 작업이 이벤트를
통해서 진행된다는 것에 대해서 설명했다. 그리고 이벤트는 누구의 어떤
이벤트인가가 중요하다는 얘기도 했다. 이 경우 누구의 어떤 이벤트가
발생하면 이렇게 처리하라고 정의된 것을 이벤트 프로시저라는 말로 표현한다.
대개 이벤트 프로시저는 다음과 같은 형식을 갖는다.
Private Sub
Command1_Click() '커맨드 버튼을 클릭 했을 때 사용되는 이벤트
End
End Sub
이는 명령버튼을 더블클릭했을 때 코드윈도우에 나타나는
명령이며, 중간의 'End'는 사용자가 넣어주는 명령이다.
Command1은 대개
명령버튼으로 많이 쓰이는 이름이다. 여기서는 명령버튼이라고 한다. 이
이벤트 프로시저의 경우 Command1의 이벤트에 대해서 정의되어 있는데, Click이라는
이벤트가 발생할 경우 실행하도록 하고 있다. Click이란 무엇인가? 마우스로
눌러진 것이 Click 이벤트이다. 그러므로 이 이벤트 프로시저는 마우스로
Command1버튼을 누르게 되면 실행하게 되는 것이다. 그 이후, End Sub까지
명령들을 순차적으로 실행하도록 되어 있다. 이 경우 중간의 'End'라는
명령은 프로그램을 끝내라는 뜻이다.