switch(iMessage)
{
case Msg1:
처리1;
return 0;
case Msg2:
처리2;
return 0;
case Msg3:
처리3;
return 0;
default:
return DefWindowProc(...);
}LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
{
switch(iMessage) {
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return(DefWindowProc(hWnd,iMessage,wParam,lParam));
}
WM_DESTROY 메시지만을 처리하고 있으며 나머지 메시지에 대해서는 DefWindowProc에게 맡긴다. WM_DESTROY 메시지는 사용자가 시스템 메뉴를 더블클릭하거나 Alt+F4를 눌러 프로그램을 끝내려고 할 때 발생하는 메시지이다. WndProc에서 이 메시지가 발생하면 PostQuitMessage 함수를 호출하여 WM_QUIT 메시지를 보낸다. WM_QUIT 메시지가 입력되면 메시지 루프의 GetMessage 함수 리턴값이 False가 되어 프로그램이 종료된다.
WM_DESTROY 이외의 메시지는 모두 DefWindowProc 함수로 전달되며 이 함수에서 디폴트 처리를 수행해 준다. WndProc은 메시지를 처리했을 경우 반드시 0을 리턴해 주어야 한다. 또한 DefWindowProc 함수가 메시지를 처리했을 경우 이 함수가 리턴한 값을 WndProc 함수가 다시 리턴해 주어야 한다.
출처: http://www.soen.kr/
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| » | WndProc | pjk | 2014.10.17 | 5138 |
| 6 | CreateFile함수로 시리얼 포트 COM10 이상 열기 | pjk | 2014.11.17 | 6890 |
| 5 |
DLL의 진입점 함수
| pjk | 2015.01.14 | 7082 |
| 4 | GetUserDefaultUILanguage()함수를 이용하여 언어ID를 얻기 | makersweb | 2015.05.29 | 8056 |
| 3 |
visual studio에서 유니코드 제어 문자 삽입
| makersweb | 2015.05.29 | 6646 |
| 2 | ini 파일 이용하기 | makersweb | 2015.07.01 | 11533 |
| 1 | 특정 파일이 있는지 확인하는 배치 스크립트 | 운영자 | 2019.04.06 | 14664 |