programming/WIN API
서브 클래싱이란.?
설은
2010. 12. 24. 10:36
[ 서브클래싱이란? ]
-
윈도우 프로시저로 전달되는 메시지를 중간에 가로채는 기법.
-
중간에서 메시지를 조작함으로써 윈도우 모양을 변경하거나 동작을 감시한다.
-
새로운 윈도우 프로시저 함수를 만들어 두고 특정 윈도우의 윈도우 프로시저 번지를 새로 만든 윈도우 프로시저의 번지로 변경하면 모든 메시지는 새로 만든 윈도우 프로시저로 전달된다. 이 때 새로 만들어진 윈도우 프로시저를 서브클래스 프로시저라고한다
① 통과: 자신이 처리할 수 없거나 관심이 없는 메시지는 원래의 윈도우 프로시저로 전달한다.
② 직접 처리: 원하는 메시지가 왔을 때 자신이 직접 처리하며 윈도우 프로시저로는 보내지 않고 그냥 리턴한다.
③ 변형: 메시지를 변경한 후 다시 원래의 윈도우 프로시저로 보낸다.