프레임 창 프로시저 작성

MDI 프레임 창에 대 한 창 프로시저를 비 MDI 응용 프로그램의 메인 윈도우의 비슷합니다. 차이점은 프레임 창 프로시저 DefWindowProc 함수 대신 DefFrameProc 함수를 처리 하지 않는 모든 메시지를 전달 합니다. 또한, 프레임 창 프로시저 또한 그것은 다음 표에 나열 된을 포함 하 여 처리 하는 일부 메시지 전달 해야 합니다.

메시지 응답
WM_COMMAND 사용자가 MDI 자식 창이 활성화 됩니다. MDI 자식 창 MDI 프레임 창의 메뉴를 선택 하면이 메시지가 전송 됩니다. 이 메시지와 함께 창 식별자 식별 MDI 자식 창이 활성화 될.
WM_MENUCHAR 메뉴를 활성 MDI 자식 창을 사용자가 누르면 alt +-(빼기) 키 조합을 엽니다.
WM_SETFOCUS 키보드 포커스를 차례로 전달 활성 MDI 자식 창 MDI 클라이언트 창에 전달.
WM_SIZE MDI 클라이언트 창을 새 프레임 창의 클라이언트 영역에 맞게 크기가 조정 됩니다. 프레임 창 프로시저는 서로 다른 크기를 MDI 클라이언트 창 크기, 만약 그것 하지 DefWindowProc 함수에 메시지를 전달 한다.

Multipad에서는 프레임 창 프로시저는 MPFrameWndProc 라고 합니다. Mpframewndproc에 의해 다른 메시지 처리 비 MDI 응용 프로그램의 비슷합니다. Multipad WM_COMMAND 메시지는 로컬로 정의 된 CommandHandler 함수에 의해 처리 됩니다. Multipad 처리 하지 않는 명령 메시지에 대 한 CommandHandler DefFrameProc 함수를 호출 합니다. 사용자 Multipad 기본적으로 DefFrameProc 를 사용 하지 않는다면, 윈도우의 메뉴 항목을 클릭 하 여 보낸 WM_COMMAND 메시지가 손실 될 때문에 메뉴에서 하위 창을 활성화할 수 없습니다.

 

Index