• 締切済み

リストコントロールの使用法について

cockyの回答

  • cocky
  • ベストアンサー率57% (232/402)
回答No.1

MFCのCListCtrlの派生クラスであれば、ClassWizardでWM_HSCROLL、WM_VSCROLLメッセージのハンドラ関数を設定して、CWnd::OnHScroll、CWnd::OnVScrollのオーバーライド関数として処理を行えばいいような気がしますが。

関連するQ&A

  • リストコントロールのスクロールバーを操作無効にするには

    お世話になります、fujicafeと申します。 現在、VC++でMFCのダイアログベースのアプリケーションを作成し、そこでリストコントロールを配置させています。 リストコントロールは自動的に垂直方向のスクロールバーを表示させるようにしています。 そこで質問なのですが、現在、リストコントロールの垂直方向のスクロールをスクロールバーの操作ではなく、キー操作によって行おうと思っているのですがどのようにすればスクロールバーの操作を無効にできますでしょうか? ポイントとしては ・リストコントロールの自動的に表示させる垂直スクロールバーはそのまま表示させたい(スクロールバーは全体行での現在の行の位置を示すだけ) ・リストコントロールの垂直方向の移動はキー操作でしたい。 これを実現するには、やはりリストコントロールのスクロールバー表示を無しにし、別でスクロールバーを設置させるしか方法はないでしょうか? 現状で、キー操作でのリストコントロールのスクロールバーの操作は実現できていますので、出来ればリストコントロールのスクロールバーの操作の無効のみが出来ればいいなと思っております。 ご意見がありましたら、よろしくお願いいたします。 尚、開発環境は Windows CE 6.0 Visual Studio 2005 です。

  • スクロールバーでのピクチャーコントロールやリストビューの移動

    お世話になります。 今回お聞きしたいことは MFCでダイアログ上にリストコントロールとスクロールバー、またはピクチャーコントロールとスクロールバーを設置した際に、スクロールバーの移動に伴って、リストコントロール内の列や、ピクチャーコントロールに表示されている画像の見えている箇所を移動させることが出来るかどうか。 です。 まだ、本格的にプログラムを作り始めてるわけではないのですが、事前にこのような動作が実現可能かどうかお聞きしたく、質問させて頂きました。 もしご存知の方がいましたら、参考になるHPや方法を教えていただければと思っています。参考になるHPがなくても、実現可能かどうかだけ教えて下さるだけでも結構ですので、宜しくお願い致します。 開発環境は Windows CE 6.0 Visual Studio 2005 です。

  • VC++ VS2005 タブコントロールに貼り付けたリストコントロールが消える

    こんばんは。 早速ですが質問です。 VC++ .NET MFCプロジェクトで リソースエディタでダイアログにタブコントロールを貼り付け(1)、 そこに同じようにリソースエディタでリストコントロールとボタンを 貼り付けたダイアログを作りました(2)。 1のタブコントロール上に2をソースで貼り付け 表示させ、2のInitDialogとボタンクリックのイベントを作成して Listコントロールに値を入れるということをしたのですが リストコントロールの表示が消えてしまいます。 マウスでリストコントロールが貼りついている位置にカーソルを当てるとその部分がでてきます。 原因のお分かりになるかたご回答よろしくお願いします。

  • グリッドコントロールのWindowsXP上での動作

    VB6を使用してアプリケーションを作成しております。 作成したフォームにグリッドを貼り付けていますが、そのスクロールバーの空欄(上下の矢印と現在の場所を指している四角の箱以外の部分)をダブルクリックした場合、Win98SEでは、スクロールするだけですが、WinXPではダブルクリックイベントが発生しているみたいです。 WinXPの現象を回避できる方法はどなたかご存知の方はいらっしゃいませんか。

  • ListViewで、PageDownキーイベントを発生させるには?

    VB6で開発しています。 ラベルとListViewのみのフォーム上で、 PageUpやPageDownキー押下で、イベントを発生させたいのですが、 PageDownを押下すると、ListView内のリストのカーソルが下に移動してしまい、 (フォーカスが当たるコントロールがListViewしかないためと思われますが) イベントが発生せずに困っています。 自分で実現しようとしてできなかった方法を紹介します ・リストビューにフォーカスが当たらないようにする。   Enabled = Falseだとスクロールバーが使えないので困る。    ・ListViewはEnabled=Falseにし、スクロールバーコントロールを使って、スクロールさせる。   スクロールさせる方法が見つかりませんでした。 何か、よいアイデアや方法があれば、ご教授宜しくお願いしますm(_ _)m

  • リストコントロールのクリック操作による文字列反転について

    VisualC++2005(MFC)でダイアログベースのプログラムを作成しています。そして、ダイアログにリストコントロールを配置して、文字列を一行単位に出力しています。そのリストコントロールの文字列箇所をクリックしても反転しないようにするためにはどのようにしたら良いのでしょうか?、お教えください。 ※DisabledプロパティをTRUEにしたら、クリックしても、文字列箇所が反転しないようになったのですが、縦スクロールバーまで使用出来なくなってしまいました。

  • リストコントロールのリスト内にスピンコントロールを配置したい

    お世話になります。 C++ 6.0 MFC で開発しております。 リストコントロール内に表示させるリスト内にスピンコントロールをつけたいのですが、どのようにすれば実現できるのでしょうか? ※リストを追加するたび、スピンコントロールがついたリストが追加されるようにしたいのです。 説明が載っているサイトでもいいので教えて頂ければありがたいですので なにとぞよろしくお願いします。 お手数ですが、なにとぞよろしくお願いします。

  • Win32のリストコントロールで縦スクロールはできませんか?

    こんにちは。Win32のリストコントロールについて質問です。 リストコントロールでアイコン表示で使用しています。 リストコントロールでアイコンをたくさん表示させると、縦幅に入る範囲で アイコンが複数行表示され、入らないアイコンは横スクロールさせることで 表示できますが、これを縦スクロールベースにはできないものでしょうか ?

  • コントロールのフォーカスが横取りされた場合の対応

    VC++(6.0)/MFCにてアプリを開発しています。 メイン画面上にリストボックス・リストビュー・ボタンの各コントロールを配置し、 ユーザがいつでも操作できるようになっています。 そこで、ユーザがリストボックス等をマウスにてスクロール中に、バックグラウンド 処理でモーダルダイアログを表示すると、マウスダウン中に突然フォーカスが失われ るため操作中のコントロールに対しマウスアップメッセージが送信されずモーダルダ イアログ側へフォーカスが強制的に移動してしまいます。 操作中のコントロールは、マウスアップイベントが送信されていないため、奇妙な動 きをするようになります。 この場合、画面上の全てのコントロールに適応可能な「フォーカスが失われたよ」的 な処理を実装したいのですが、どのようにすればよいのでしょうか。 現在は、コントロール単位でオーバーライドしてLostFocus等で処理しています。 よろしくお願いします。

  • ListViewでのリスト表示(初歩的な質問です)

    WinXP Pro VB6.0で開発を行っています。 現在、ドラッグ&ドロップにより、ListViewでファイルのパスをリスト表示するプログラムを作成しています。 ListBoxではなくListViewを利用する理由は、パスの長さに合わせてスクロールバーを表示したいためです。 そこで、ドラッグ&ドロップイベントでファイルのパスを取得することは出来たのですが、単純なリスト表示ができません。 ListView1.ListItems.Add(, , tmpPath) でパスを追加しているのですが、プロパティの設定がよく分からずうまく表示できません。 Viewを2-lvwLstに変更し、何となく表示はしているのですが2列表示になり、縦のスクロールバーが表示されません。 なお、表示の際、ヘッダ部分は必要ありません。 また、パスのみの表示であるため、一項目の表示です。 プロパティの設定例を教えていただけませんか? 非常に初歩的な質問ですがよろしくお願いします。