はじめまして。VisualC++6.0を勉強中です。
イベントの拾い方についてご質問させてください。
リストコントロールとボタンが張り付いただけの簡単なダイアログ画面を作っています。
このリストコントロールの縦スクロールイベント時に、ある処理を埋め込みたいのですが、イベ
ントが上手く拾えなくて困っています。
過去ログも見させてもらって、メッセージハンドラ(WM_VSCROLL)を追加するというのは大体
分かったのですが、追加する場所が良くわかりません。ボタンのクリック動作などは、普通に、
ダイアログのOnClickxxxで拾えるので、同じように、ダイヤログクラスへWM_VSCROLLを追加し
て、OnVscrollで拾おうとしたのですが、全く反応しません。
(これって、ダイヤログ自体のスクロール時のイベントですよね。。きっと。。。)
どうしたら、よいのでしょうか?
まず、CListCtrlの派生クラスを作ります。
その後、クラスウィザードでリストコントロールのコントロール変数を追加しようとす
ると、[変数のタイプ]で作成した派生クラスが選択できるはずです。
あとは画面の指示に従って、コントロール変数を追加してください。
これで、リストコントロールがCListCtrlの派生クラスに関連づけられたので、あとはク
ラスウィザードでCListCtrlの派生クラスにWM_VSCROLLのメッセージハンドラを追加する
だけです。
なお、WM_VSCROLLだけでは、マウスのホイールによるスクロールイベント(マウスドライ
バの種類によっては発生する場合がある)に対応できないので、WM_MOUSEWHEELのメッセ
ージハンドラも実装しておくと良いでしょう。
bun様
とても分かり易い説明で、私のような初心者でも理解できました。
おかげさまでイベント取得できました!
ありがとうございました~。