お世話になります。
今回お聞きしたいことは
MFCでダイアログ上にリストコントロールとスクロールバー、またはピクチャーコントロールとスクロールバーを設置した際に、スクロールバーの移動に伴って、リストコントロール内の列や、ピクチャーコントロールに表示されている画像の見えている箇所を移動させることが出来るかどうか。
です。
まだ、本格的にプログラムを作り始めてるわけではないのですが、事前にこのような動作が実現可能かどうかお聞きしたく、質問させて頂きました。
もしご存知の方がいましたら、参考になるHPや方法を教えていただければと思っています。参考になるHPがなくても、実現可能かどうかだけ教えて下さるだけでも結構ですので、宜しくお願い致します。
開発環境は
Windows CE 6.0
Visual Studio 2005
です。
No.2ベストアンサー
- 回答日時:
>仮想リストを使用する場合に特に普通のリストと、
>プログラムを作成する点で違う箇所はありますでしょうか?
プログラム的には大きく違います。オーナードローを使用するため、
使用するイメージ、項目等の領域は自分で保持、管理しなければ
なりません。
しかし、描画の高速化、メモリ節約が出来るという点は、
大きなメリットです。
>リストコントロールだと自動でスクロールバーを表示してくれる
>みたいなのですが、現在開発している機器がタッチパネル式のため、
>自動で表示されるスクロールバーではタッチするには小さいため、
>出来れば別で大きい垂直スクロールバーを設置して動かしたいと
>思っています。
>そのようにする場合にはDlgにOnVScroll()のイベントを作成して、
>その関数内でリスト内の項目を移動させるように処理すればよい
>のでしょうか?
そういった実装を行ったことが無いので、なんともいえないので、私の予想ですが、
clistctrlのスクロールバーをfalseにするということですよね。
そうすると、スクロールエリアがないということになると思うので、
そもそも移動が出来ないと思います。
スクロールバーをtrueにして、その上に強制的に独立した
スクロールバーを配置するなら別だと思いますが。。。
普通はそんなことはしないですよね。
もしかしたら、clistctrlクラスをオーバーラップし、そこで
GetScrollBarCtrlを利用しスクロールバーのポインタを取得して、
そのポインタ経由で、スクロールバーの大きさを変更するといった
ことは、出来るかもしれません。
すべては、予想ですが。。。
丁寧な説明ありがとうございます。
仮想リストのメモリの節約というのは限られたメモリの組み込み機器にはかなり大きなメリットですね!!
早速調べて使ってみたいと思います。
リストのスクロールバーについては、もう少し調べてみます。
リストの標準のスクロールバーを表示させて、他に上下移動用のボタンを配置させ、そのボタンをタッチさせスクロールバーを移動させたり、キーボード操作でスクロールバーを移動させたりでもいいかなと思っていますので、その方法でも検討してみて分からなければ、もしかすればもう一度こちらに質問させて頂くかもしれません。
ご回答ありがとうございました!
No.1
- 回答日時:
結論は出来ます。
リストコントロールの場合は特別な処理はいりません。
リストコントロールのスクロールバーを有効にして、リストにデータをセットすれば、スクロールバーを動かすと勝手に描画領域は更新されます。
ただ、組み込み系ですので、メモリー等のことを考えると仮想リストとして実装する方が無難だと思います。
ちなみに、サムネイル表示も可能です。
ピクチャーコントロールでの実装経験が無いので、具体的な実装方法はわかりませんが、最悪ピクチャーコントロールを利用しなくても、スクロールバーとメモリデバイスコンテキストを使用して、移動量を取得して、自分で描画更新をかければ実装できると思います。
ご回答ありがとうございます。
仮想リストコントロールというのがあるのですね、初耳です。
ネットで調べてみると、仮想リストコントロールというのはリストへのデータの表示が早いみたいですね。
仮想リストを使用する場合に特に普通のリストと、プログラムを作成する点で違う箇所はありますでしょうか?
リストコントロールだと自動でスクロールバーを表示してくれるみたいなのですが、現在開発している機器がタッチパネル式のため、自動で表示されるスクロールバーではタッチするには小さいため、出来れば別で大きい垂直スクロールバーを設置して動かしたいと思っています。
そのようにする場合にはDlgにOnVScroll()のイベントを作成して、その関数内でリスト内の項目を移動させるように処理すればよいのでしょうか?
重ねての質問で申し訳ございませんが、ご回答を宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
推しミネラルウォーターはありますか?
推しミネラルウォーターがあったら教えてください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
MFCでのスクロールバーの扱い
C言語・C++・C#
-
画面を強制的に再描画させる方法
C言語・C++・C#
-
MFCのCListCtrlでスクロールを検出
C言語・C++・C#
-
-
4
ダイアログ内コントロールの位置取得について
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
スクロールバーを点滅させない方法
-
EXCEL VBAでwebページを保存す...
-
VB6.0のデザイン時 コントロー...
-
VScrollBarの点滅を何とかしたい。
-
警告表示を非表示にしたい
-
連続で印刷すると画像が更新さ...
-
VC++でコンボボックスに動的に...
-
リストボックスの同期
-
リストコントロール(MFC or API...
-
フォームでPDFを表示させた...
-
Excel VBAでのMultipageの選択
-
コモンダイアログコントロール...
-
WS_TABSTOPが機能するコントロ...
-
WindowsMediaPlayer全画面表示...
-
ExcelVBAのリストボックスで項...
-
エクセルのコントロールツール...
-
msiインストーラでフォルダのセ...
-
マインクラフト(pc版)で座標...
-
エクセルで作った新しいウイン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
エクセルのコントロールツール...
-
DateTimePickerでに年月までし...
-
スピンボタンを右クリックして...
-
フォームでPDFを表示させた...
-
ActiveXコントロールを.NETにイ...
-
コモンダイアログコントロール...
-
連続で印刷すると画像が更新さ...
-
警告表示を非表示にしたい
-
エクセル - リストボックスのマ...
-
ダイアログボックスのボタンコ...
-
TabControlとToolBarの背景色変更
-
文字色を変えたい(ACCESS VBA)
-
Excel VBAでのMultipageの選択
-
EXCELVBA リストボックスで選択...
-
ワードのドロップダウンリスト
-
WM_SIZEを発生させる方法
-
CEdit の内容が変わった時にメ...
-
リストコントロール(MFC or API...
-
VBAでリストボックス内で↑↓の操...
おすすめ情報