창 프로시저 서브클래싱

응용 프로그램 창을 만들면 시스템 창에 대 한 메시지를 처리 하는 창 프로시저의 주소를 포함 하 여 창의 정보를 저장 하기 위한 메모리 블록을 할당 합니다. 창 프로시저 주소 창 관련 정보를 검색 하 고 해당 메시지를 전달 시스템을 창에 메시지를 전달 해야 하는 경우.

서브클래싱 응용 프로그램을 차단할 수 있는 기술 이며 프로세스 메시지 보낸 또는 창에 기회가 그들을 처리 하기 전에 특정 창에 게시 합니다. 창을 서브클래싱하 여 응용 프로그램 수 보강, 수정 또는 윈도우의 동작을 모니터링 합니다. 응용 프로그램 하위를 창 편집 컨트롤 또는 목록 상자와 같은 시스템 글로벌 클래스에 속하는 수 있습니다. 예를 들어, 응용 프로그램에 하위 클래스를 컨트롤이 특정 문자를 허용 하지 않도록 하려면 편집 컨트롤 할 수 있었다. 그러나, 창이 나 다른 응용 프로그램에 속한 클래스 하위 클래스가 없습니다. 동일한 프로세스 내에서 수행 되어야 하는 모든 하위 클래스화.

응용 프로그램 하위 창을 새 창 프로시저 주소 창의 원래 창 프로시저의 주소를 대체 하 여 하위 프로시저라고 합니다. 하위 프로시저를 보낸 또는 창에 게시 된 모든 메시지를 수신 하는 이후,.

하위 프로시저 메시지를 받으면 3 조치를 취할 수 있습니다: 수 원본 창 프로시저에 메시지를 전달, 메시지 수정 원래 창 프로시저에 전달 또는 메시지 처리 및 하지 원래 창 프로시저에 전달 합니다. 메시지를 처리 하는 하위 프로시저를 그것 그렇게 할 수 있다 전에, 후에, 또는 둘 모두 전과 후 원래 창 프로시저에서 메시지를 전달.

두 가지 유형의 하위 클래스를 제공 하는 시스템: 인스턴스글로벌. 인스턴스 서브클래싱, 응용 프로그램 윈도우의 단일 인스턴스 창 프로시저 주소를 대체합니다. 응용 프로그램 하위 클래스에는 기존 창 서브클래싱 인스턴스를 사용 해야 합니다. 글로벌 서브클래싱, 응용 프로그램 창 클래스의 WNDCLASS 구조에서 창 프로시저의 주소를 대체합니다. 모든 후속 창 클래스를 사용 하 여 만든 하위 프로시저의 주소를가지고 있지만 기존 windows 클래스의 영향을 받지 않습니다.

 

Index