2015년 3월 16일 월요일

뇌자극 C# 5.0 - 20강

-WinForm 으로 만드는 사용자 인터페이스-

20.1 도대체 무슨 일이 일어나고 있는 걸까?

WinForm은 폼 디자이너라는 툴로 프로그래머가 그림을 그리듯 UI를 만들 수 있게 해준다.
컨트롤은 윈도우 위에 배치할 때마다 폼 디자이너는 프로그램의 UI를 표시하는 한편
뒤로는 관련 C# 코드를 자동으로 만들어준다.
프로퍼티를 변경하거나, 이벤트 처리기를 추가할 때도 자동으로 코드를 수정해준다.
하지만 미세한 조정이 필요하거나 폼 디자이너에 문제가 생기는 경우 
직접 수정할 수 있어야 하기에 C# 코드로 WinForm UI를 만드는 법을 알아야 한다.

20.2 C# 코드로 WinForm 윈도우 만들기

Win32 API를 이용하여 윈도우 만드는 절차
(1)   윈도우 클래스를 정의한다
(2)   정의된 윈도우 클래스를 등록한다
(3)   윈도우를 생성한다
(4)   생성한 윈도우를 사용자에게 보여준다
(5)   메시지 루프를 돌면서 프로그램을 시작한다

WinForm 클래스를 이용한 윈도우 생성 절차
(1)   System.Windows.Forms.Form 클래스에서 파생된 윈도우 폼 클래스를 선언한다
(2)   (1)에서 만든 클래스의 인스턴스를 System.Windows.Form.Application.Run() 메소드에 매개 변수로 넘겨 호출한다.

20.3 Application 클래스

응용프로그램 시작 메소드 = Application.Run()
응용프로그램 종료 메소드 = Application.Exit()

Application 클래스는 응용프로그램이 받고 있는 수많은 메시지 중에
관심 있는 메시지만 걸러낼 수 있는 메시지 필터링 기능을 가지고 있다.

윈도우 운영체제에서 정의하고 있는 메시지는 식별번호(ID)가 붙여져 있다.
Application 클래스는 특정 ID를 갖는 메시지를 걸러내는 필터를 함께 등록해뒀다가
응용 프로그램에 메시지가 전달되면 해당 필터를 동작시킴

메시지의 ID가 필터에서 관심을 갖고 있는 값이라면 필터는 메시지를 요리하고,
그렇지 않다면 메시지를 거르지 않고 메시지를 받아야 하는 폼이나 컨트롤로 보내서
이벤트를 발생 시킨다.

20.4 윈도우를 표현하는 Form 클래스

여기서부터는 직접 해봐야 알 수 있는 것이기에 이 곳에 명시하기가 힘들다.
각종 컨트롤을 배치하고, 각 컨트롤에 속성을 바꾸고,
이벤트를 등록시켜서 동작하게 만드는 것이다.
예제를 다운받아서 직접 해보는 것이 가장 좋겠다.

책은 뇌를 자극하는 C# 5.0” 이다


댓글 없음:

댓글 쓰기