いつもお世話になっております。
ヨシと申します。
現在Excel風の表計算ソフトを作ろうとグリッドコントロールを
作っています。
MDIでビューはCCtrlViewを派生させCTabCtrlを使っています。
それに覆い被さるようにCWnd派生の
自作グリッドコントロール(CGridCtrl)があります。
垂直スクロールバーを動かしたときに行数が表示されるよう
小さなモードレスウィンドウをマウスを押し下げた位置の
ちょっと左側に表示させようと(マウス位置の取得)したときに
気づいたのですが、
マウス左ボタンを押し下げた時のWM_LBUTTONDOWNメッセージが
子フレームウィンドウのOnLButtonDown関数に行ってしまい、
グリッドコントロールのOnLButtonDown関数では処理できません。
見た目グリッドが表示されているので
グリッドコントロールにメッセージが行ってもいいような
気がするのですが、自作のコントロールなのでメッセージを
親(子フレームウィンドウ?ビュー?)からSendMessage等の関数を使って
飛ばしてやらなくてはならないのでしょうか。
何か単純な設定ミスが考えられるのでしょうか?
できることなら自作グリッドクラス内で
マウスメッセージを処理できるようにしたいのです。
乱文ですが、お気づきの点がございましたら、ご教授願います。
よろしくお願いいたします。
お世話になっております。
ヨシです。
自作グリッドコントロールのCreate第一引数をNULLにすることで
解決しました。
この質問を読んでくださった方々、応援ありがとうございました。
ツイート | ![]() |