[4739]
Re3:CTabWnd
ryoji
▼ wakuraさん
> 他の箇所はWndProcの中かWM_CREATE/WM_INITDIALOGの中でSetWindowLongPtrしている。
本質的には、SetWindowLongPtrの位置が間違いなのではなく、
親ウィンドウをCreateしてから子ウィンドウをCreateするのか
親ウィンドウのCreateの最中に子ウィンドウをCreateするのか
の違いだと思います。
CTabWndは前者ですね。CEditWndやCFuncKeyWndも前者です。
というか、CWnd::OnCreate()は誰も使っていないみたいですね。
子ウィンドウのサブクラス化は対象の子ウィンドウを作ってからでないとできないので、前者なら自動的に親ウィンドウのCreate後ということになります。
たまたま最初に作った人が前者の手順で作ったというだけの話のように思います。
後者の手順のほうが普通っぽい気はしますが。。。