2010년 1월 19일 화요일

HCI GUI Tool #4

MFC Basic
 + easy example을 통해 접근 시도
   -RS232 source code분석,
   -calorie calculator 분석,
   -HCI 구현을 위한 outline을 작성하려다 실패함.
 + "열혈강의 Visual C++ 2008 MFC 윈도우 프로그래밍" study.
   -오후에 책 수령-basic부터 차근차근

 + summary (API part)
   - WinMain()함수를 통해 윈도우 응용 프로그램이 시작된다.
   - 사용자의 입력 이벤트는 모두 메시지로 전환된다.
   - 윈도우 운영체제는 이벤트에 따른 메시지를 메시지 큐에 추가한다.
   - 메인 메시지 루프는 메시지 큐에서 메시지를 꺼내서 (GetMessage() 함수)
     처리(DispatchMessage()함수)하는 핵심 코드이다.
   - 윈도우 종료 메시지를 처리하면 메인 메시지 루프가 끝나고 응용 프로그램이 종료된다.
   - Message Queue: FIFO구조.
   - WinMain()함수의 첫번째 parameter: hInstance(응용 프로그램 자체를 식별하는 값)
                              두번째 para: hPrevInstance(먼저 실행된 instance의 handle)
                              세번째 para: lpCmdLine(실행파일의 경로와 명령줄의 내용을 담은 문자열 포인터)
                              네번째 para: nCmdShow(윈도우를 화면에 보여주는 방법을 명시)
   - Handle: 대부분 고유한 int형 값이나 메모리의 pointer임.
                 모든 윈도우는 자신을 식별하는 번호를 갖는데, 이 번호가 바로 윈도우 핸들.
   - 윈도우 프로시저 함수는 메인 메시지 루프에서 DispatchMessage() 함수를 호출하면 호출을 받는다.
   - 응용 프로그램 하나는 메시지 큐 하나를 가진다.
   - 윈도우 메시지(WM_XXX형식의 상수)란 결국 어떤 숫자에 불과한 것임.
   - DispatchMessage()함수는 윈도 프로시저 함수를 호출함.
     .응용 프로그램의 코드 대부분은 윈도 프로시저 함수에 집중됨(by 개발자)
     .DispatchMessage()함수는 윈도우 운영체제와 개발자의 코드를 서로 연결하는 가교 역할을 함.

Essence of Window Programming with MFC is not "How", but "Where" to coding.


댓글 없음:

댓글 쓰기