電子書籍の厳選無料作品が豊富!

VC.NET MFC
でリストビュー(CListCtrl)を使用しています。

そのリストビューにある垂直スクロールバーを操作しても、
PreTranslateMessage()になにもコマンドが送られてきません。
・・・(1)

また、LVN_BEGINSCROLLのハンドラを追加してみたんですが、
コンパイル時にLVN_BEGINSCROLLを認識してもらえません。
(コンパイルエラー)
・・・(2)

いろいろ調べてcommctrl.hをインクルードしても
必要なDLL(Comctl32.lib ? Comclt32.lib)をプロジェクトに参加させても認識してもらえませんでした。

リストビューのスクロールバー操作時の処理をオーバーロードしたいのですが、できなくて困っています。

どのようにすればよろしいでしょうか?
助言のほどよろしくお願いします。

A 回答 (2件)

派生クラスを作成しても リソースエディタで配置できますよ


配置するときは リストビューコントロールを配置して
コントロール変数を割り当てる際に派生クラスを選択できますよ
    • good
    • 0
この回答へのお礼

ありがとうございます。
感動しました。
派生クラスもリソースエディタで配置することができたんですね。
すごく楽になりました。
今まではわざわざラベルなどを配置して、その領域を取得して、その位置にCreateしていたものですから。

お礼日時:2007/11/14 16:53

CListCtrlクラスの派生クラスを作って WM_VSCROLL/WM_HSCROLLなどを捕まえたほうが簡単なように思います



LVN_BEGINSCROLLとかは stdafx.hのマクロ定義を

#define WINVER 0x0500
#define _WIN32_WINNT 0x0501
#define _WIN32_WINDOWS 0x0501
#define _WIN32_IE 0x0560
と設定すれば コンパイルは通るはずです
    • good
    • 0
この回答へのお礼

ありがとうございます。

リソースエディタで配置したいのでサブクラス化はできるだけしたくなかったのですが、
stdafx.hの方を変更する方向でやってみたいと思います。

お礼日時:2007/11/08 22:52

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!