이번에 프로그램 개발하면서 2주동안 삽질 한 것 입니다. ㅡㅡ;
분명히 Dialog 에서는 잘 되는 TVN_BEGINDRAG 메세지가
FormView에서만 하면 메세지가 먹통이 되는 것입니다.
그리고 컨트롤의 SubclassDlgItem 함수도 안되구요.....
그래서 엄청 삽질 하다가 제가 결정적 실수 한걸 알았습니다.

Dialog에서는 대부분 OnInitDialog에서 컨트롤을 초기화 해줍니다.
그런데 FormView에서는 OnInitDialog가 없어서 전 OnCreate에서 작업해 줬습니다.
이게 문제였던 것입니다.
아직 FormView의 모든것이 생성되기도 전에 안에서 자식 컨트롤들의 작업을 했던게
문제가 발생한 원인이었습니다. (네 ~~~~ 저 초보 맞습니다. ㅠㅠ)

결론으로 해결책은 FormView에서는 OnInitUpdate라는 함수가 있습니다.
여기에서 각각의 컨트롤 들을 초기화 해주면 Dialog와 같이 사용 하실수 있습니다.

ps. SubclassDlgItem을 이용해서 서브클래싱을 하면 서브클래싱한 컨트롤 클래스는
     PreSubclassWindow 에서 초기화 작업을 해주셔야 합니다.
posted by 뚱2