class Hoge:public CWndBase
  public:
   BOOL InitInstance( HINSTANCE hInstance );
  private:
   //オーバーライドしたWndProc
 static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
};

使うとき、

Hoge hoge;
hoge.InitInstance(hInstance);

InitInstanceの中ではウィンドウの登録、作成をする
  WNDCLASSEX wcex;
  :
  wcex.lpfnWndProc = (WNDPROC)BaseWnd::WindowMapProc;//WndProc;
  :
  RegisterClassEx(&wcex);

で、CreateWindowする。最後の引数はthisを渡す。

こうすると、メッセージは、まずWindowMapProcで処理されて、
BaseWndのWndProcへ飛んできます。が、オーバーライドした自分のWndProcには飛んでこない
です。CreateWindow後のAttachとか呼んでみたのですが、変わらずです。
なんか、おしい気がするのですが、ぜんぜんですかね?