・本体の"プロジェクト名Dlgクラス"でOnMouseWheelを呼び出す.
・そのOnMouseWheel()内で,描画専用のクラスのOnMouseWheelを呼び出す.
以上の挙動をしたときに,実行時例外を投げられてしまいます.
描画専用のクラスは,
http://d.hatena.ne.jp/minami_SC/20110406/1302113824
このサイトを参考に,CStaticを継承して作られています.
デバッグで調べているうちに,
BOOL ConMouseWheelTestDlg::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
{
// TODO: ここにメッセージ ハンドラー コードを追加するか、既定の処理を呼び出します。
this->testObject.OnMouseWheel(nFlags, zDelta, pt);
return CDialogEx::OnMouseWheel(nFlags, zDelta, pt);
}
..
BOOL testObject::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
{
// TODO: ここにメッセージ ハンドラー コードを追加するか、既定の処理を呼び出します。
return CStatic::OnMouseWheel(nFlags, zDelta, pt);
}
具体的には上記のコードでtestObjectがreturnを返す時に,大元のDlgクラスのOnMouseWheelを呼び出してしまい,結果(おそらくループのネストが深すぎて)例外を投げ出されているのだと思います.
しかしながら原因がわかりません.
原因がわかりそうな方,ぜひご教授お願いします.