2009년 8월 17일 월요일

CWnd::PreSubclassWindow 에 관하여

간혹 Control을 사용하면서 값에대한 초기화가 필요한 경우가 있다..

물론 Construct에서 입력을 해야하는경우도 있지만, 해당 control을 생성한후, 직접적으로 적용해야 하는 초기화,

예를 들어 Button에 SetFont의 함수를 적용할려면 Construct에서 호출할수없다. Control이 생성된이후에야 적용이 된다.

그리하여, WM_CREATE를 사용하여 작업을 하면, 진입하지 않는 희안한 경우가 생긴다.

그 이유는. DialogBox의 DDX_Control특성상 Subclass를 통해 Control을 사용하기 때문이다.

그렇다면 어떻게 해결을 해야하는지를 알아보면,

virtual Type의 CWnd::PreSubclassWindow() 함수가 제공이된다.

이 함수에대한 overloading을 통해 제어하면 끝~~~~

댓글 없음:

댓글 쓰기