ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [API]WndProc
    C/C++ 2015. 3. 12. 23:10

    WndProc은 전에도 설명했듯이 메세지를 처리하는 함수이다.


    WndProc의 기본구조는 아래와같다.


    switch(iMessage) {

    case MSG:

    처리

    return 0;

    case MSG2:

    처리

    return 0;

    ...

    default:

    return DefWindowProc(..);

    }


    윈도우즈 프로시저함수로 메세지가 전달되면 case문에서 해당 메세지를 찾아 그 부분에서 처리한다.


    예를들어 WM_LBUTTONDOWN이 전달되면 case WM_LBUTTONDOWN에서 처리하게된다.


    DefWindowProc함수는 WndProc에서 처리하지 않은 나머지 메시지들을 처리한다.

    시스템메뉴같은 switch-case문에서 처리하지못하는것은 해당함수에서 처리한다.


    정리하자면 아래와같다.


    1.GetMessage에서 메세지를 꺼낸다

    2.WM_QUIT,즉 종료메세지가 전달되면 곧바로 프로그램은 종료한다.

    3.TranslateMessage함수에서 키보드를 해석한다.

    4.DispatchMessage함수에서 메시지를 WndProc으로 보낸다.

    5.WndProc에서 최종으로 메세지를 읽어들여 그에 맞는 메세지를 처리한다.

    6.읽어들일수없는 메세지라면 DefWindowProc함수에서 따로 처리한다

    'C/C++' 카테고리의 다른 글

    [API]WM_PAINT  (0) 2015.03.12
    [API]TextOut  (0) 2015.03.12
    [API]Message Loop  (0) 2015.03.12
    API 기초(2)  (0) 2015.03.12
    API 기초  (0) 2015.03.12

    댓글

Designed by Tistory.