CallWindowProc

CallWindowProc 함수 메시지 정보 지정된 창 프로시저에 전달.

LRESULT CallWindowProc ( WNDPROC  lpPrevWndFunc, / / 이전 절차에 대 한 포인터HWNDhWnd, / / 창 핸들UINTMsg, // messageWPARAMwParam, / / 처음 메시지 매개 변수LPARAMlParam / 초당 메시지 매개 변수);
 

매개 변수

lpPrevWndFunc
이전 창 프로시저에 대 한 포인터.

실제로 든 주소 창 또는 대화 상자 프로시저 인지 핸들을 주소를 나타내는이 값 nIndex 매개 변수를 GWL_WNDPROC 또는 DWL_DLGPROC로 설정 GetWindowLong 함수를 호출 하 여 가져온 경우.

hWnd
메시지를 받는 창 프로시저에 대 한 핸들.
Msg
메시지를 지정합니다.
wParam
추가 메시지 관련 정보를 지정합니다. 이 매개 변수의 내용을 Msg 매개 변수의 값에 따라 달라 집니다.
lParam
추가 메시지 관련 정보를 지정합니다. 이 매개 변수의 내용을 Msg 매개 변수의 값에 따라 달라 집니다.

반환 값

반환 값 메시지 처리의 결과 지정 하 고 전송 하는 메시지에 따라 다릅니다.

주의

CallWindowProc 함수를 사용 하 여 창 서브클래싱에 대 한. 일반적으로 동일한 클래스와 모든 창을 한 창 프로시저를 공유합니다. 하위 클래스는 창 또는 누구의 메시지를 가로채 고 클래스의 창 프로시저에 전달 하기 전에 다른 창 프로시저 (또는 절차)에 의해 처리 하는 동일한 클래스와 창의 집합.

SetWindowLong 함수는 이전 하는 대신 새 창 프로시저를 호출 하 여 시스템이 특정 윈도우와 관련 된 창 프로시저를 변경 하 여 하위 클래스를 만듭니다. 응용 프로그램 CallWindowProc를 호출 하 여 이전 창 프로시저에 새 창 프로시저에 의해 처리 되지 메시지를 전달 해야 합니다. 이 응용 프로그램을 창 프로시저의 체인을 만들 수 있습니다.

STRICT 정의 하는 경우 lpPrevWndFunc 매개 변수는 데이터 형식이 WNDPROC. WNDPROC 형식이 다음과 같은 선언

LRESULT (콜백 * WNDPROC) (HWND, UINT, WPARAM, LPARAM) 
 

STRICT 정의 되지 않은 경우 lpPrevWndFunc 매개 변수는 데이터 형식이 FARPROC. FARPROC 형식의 같이 선언

int (멀리 WINAPI * FARPROC)) 
 

C, FARPROC 선언이 지정 되지 않은 매개 변수 목록이 있는 콜백 함수를 나타냅니다. 그러나 c + +,, 빈 매개 변수 목록 선언에서 나타냅니다 함수는 매개 변수가 없습니다. 이 미묘한 차이 부주의 코드를 중단할 수 있습니다. 다음은이 상황을 처리 하는 한 가지 방법은:

# ifdef 엄격한 WNDPROC MyWindowProcedure # 다른 FARPROC MyWindowProcedure... # endif lResult CallWindowProc (MyWindowProcedure,...) = 
 

빈 인수 목록을 사용 하 여 선언 된 함수에 대 한 자세한 내용은 c + + 프로그래밍 언어, Second Edition Bjarne Stroustrup를 참조 하십시오.

Windows NT: CallWindowProc 함수 유니코드 ANSI 변환을 처리합니다. 당신은 이용할 수 없습니다이 변환의 창 프로시저를 직접 호출 하는 경우.

QuickInfo

nbsp;?Windows &NT: 버전 3.1 이상이 필요 합니다.
Windows:Windows 95 이상이 필요합니다.
Windows CE:버전 1.0 이상이 필요합니다.
헤더:Winuser.h에서 선언합니다.
가져오기 라이브러리:User32.lib를 사용 합니다.
유니코드:Windows NT에서 유니코드와 ANSI 버전으로 구현.

참고 항목

창 프로시저 개요 창 프로시저 함수, GetWindowLong, SetClassLong, SetWindowLong

 

Index