인스턴스 하위 클래스화

SetWindowLong 함수를 사용 하 여 창의 인스턴스를 응용 프로그램 하위 클래스. 응용 프로그램 GWL_WNDPROC 플래그, 하위 클래스, 창 및 SetWindowLong하위 프로시저의 주소를 핸들을 전달합니다. 하위 클래스 프로시저는 응용 프로그램의 실행 파일 또는 동적 연결 라이브러리 (DLL)에 있을 수 있습니다.

SetWindowLong 창의 원래 창 프로시저의 주소를 반환합니다. 응용 프로그램은 원래 창 프로시저에 도청된 메시지를 전달할 CallWindowProc 함수에 대 한 후속 호출에서 사용 하 여 주소를 저장 해야 합니다. 응용 프로그램에는 또한 원래 창 프로시저 주소 창에서 서브 클래스를 제거 하려면 있어야 합니다. 하위 클래스를 제거 하려면 응용 프로그램 호출 SetWindowLong 다시 창에 GWL_WNDPROC 플래그와 핸들 원래 창 프로시저의 주소를 전달.

시스템 전역 클래스 시스템을 소유 하 고 컨트롤의 다음 시스템의 한 버전에서 변경 될 수 있습니다. 응용 프로그램 하위 시스템 전역 클래스에 속하는 창 해야 하는 경우 개발자는 시스템의 새로운 버전을 출시 하는 경우 응용 프로그램을 업데이트할 필요가 있습니다.

창이 만들어지면 인스턴스 서브클래싱 발생 하기 때문에 모든 추가 바이트 창에 추가할 수 없습니다. 응용 프로그램에 하위 창이 서브클래싱된 창의 인스턴스에 필요한 모든 데이터를 저장할 윈도우의 속성 목록을 사용 해야 합니다. 자세한 내용은 다음 웹 사이트를 참조 하십시오. 창 속성.

때 응용 프로그램 하위 클래스가 서브클래싱된 창이 역순에 수행 되는 하위 제거 해야 합니다. 제거 순서를 반대로 수행 되지 않으므로, 복구할 수 없는 시스템 오류가 발생할 수 있습니다.

 

Index