※ ChatGPTを利用し、要約された質問です(原文:リストコントロールのスクロールバーを操作無効にするには)
リストコントロールのスクロールバーを操作無効にする方法
このQ&Aのポイント
VC++でMFCのダイアログベースのアプリケーションを作成しています。
リストコントロールの垂直スクロールバーの操作を無効化し、キー操作で移動する方法を知りたいです。
現在の開発環境はWindows CE 6.0とVisual Studio 2005です。
リストコントロールのスクロールバーを操作無効にするには
お世話になります、fujicafeと申します。
現在、VC++でMFCのダイアログベースのアプリケーションを作成し、そこでリストコントロールを配置させています。
リストコントロールは自動的に垂直方向のスクロールバーを表示させるようにしています。
そこで質問なのですが、現在、リストコントロールの垂直方向のスクロールをスクロールバーの操作ではなく、キー操作によって行おうと思っているのですがどのようにすればスクロールバーの操作を無効にできますでしょうか?
ポイントとしては
・リストコントロールの自動的に表示させる垂直スクロールバーはそのまま表示させたい(スクロールバーは全体行での現在の行の位置を示すだけ)
・リストコントロールの垂直方向の移動はキー操作でしたい。
これを実現するには、やはりリストコントロールのスクロールバー表示を無しにし、別でスクロールバーを設置させるしか方法はないでしょうか?
現状で、キー操作でのリストコントロールのスクロールバーの操作は実現できていますので、出来ればリストコントロールのスクロールバーの操作の無効のみが出来ればいいなと思っております。
ご意見がありましたら、よろしくお願いいたします。
尚、開発環境は
Windows CE 6.0
Visual Studio 2005
です。
お礼
titokani様、返答が遅くなり大変申し訳ございませんでした。ご回答ありがとうございます。 さっそく、WM_NCHITTESTを試してみたところどうも現在の開発環境であるWindows CE ではこのコマンドが対応されておらず、メッセージを取得することができませんでした。 なので、対応としてCListCtrlの派生クラスを新たにダイアログのサブクラスとして作成し、その派生クラス内でWM_VSCROLLメッセージの処理をすることで実現することが出来ました。 貴重なご意見ありがとうございました。