リストビューの選択色

[戻る]
Z 2006/05/02(火) 10:55:53
ダイアログ上にリストビューを作成し、
「選択を常に表示」をオンにしているのですが、
フォーカスを持っていないときにはグレーで表示されてしまいます。

他のアプリケーションなどを見る限りは、それが標準の動作なのでしょうけど、
同じWindowsコントロールでも、リストボックスなどは、
フォーカスを持っていないときでも青色で選択行を表示してくれます。
これと同じことはリストビューでは簡単にできないものなのでしょうか?

dairygoods 2006/05/02(火) 11:02:23
カスタムドローで可能だと思います。
http://forums.belution.com/ja/vc/000/358/36s.shtml

PATIO 2006/05/02(火) 11:06:04
サンプルのコードの提示のときなどに困るので
開発環境は必ず明示をお願いします。
MFCの使用の有無とか最近だとマネージドコードかどうかなんていうのも必要です。
環境によってレスの内容が微妙に変わる事になるのでレスをつける側の負担を減らす
意味でも開発環境の提示は質問を行うたびに毎回行うようにお願いします。

で、何かの値を設定すれば簡単にそうなるような方法はありません。
カスタムドロウやオーナードロウを使えば、可能かもしれませんが、
全てを思い道理にするのは結構な手間がかかります。
その手間を惜しまないのであれば、上記の項目で調べてみてはどうでしょう。

PATIO 2006/05/02(火) 11:07:57
ちなみにリストコントロールが多分正確な名前ではないかと思います。
リストビューはDoc-ViewアーキテクチャのViewの部分に適応する時の名前だったと思います。

Z 2006/05/02(火) 11:16:21
[[解決]]
やはりカスタムドローなどを使うしかないのですね。

リストビューの表示をいろいろGoogleなどで検索して調べているうちに
こちらの過去ログで同じような質問がされていたことを見つけ、
選択色についてはこちらで最初に伺ったてみたほうが良いかなと思い、
質問させていただきました。
気分を悪くされたのであれば申し訳ありません。

選択位置の表示もうまくいかないままです。
リストビューの描画は難しいですね…。
ありがとうございました。

シャノン 2006/05/02(火) 14:19:33
> ちなみにリストコントロールが多分正確な名前ではないかと思います。
> リストビューはDoc-ViewアーキテクチャのViewの部分に適応する時の名前だったと思
います。

正式な名前はリストビューです。
これは、Win32 API が定義する、ウィンドウクラス名が「SysListView32」であるウィン
ドウのことです。

リストコントロールは MFC 用語です。
Win32 API のリストビューのことを、MFC ではリストコントロールと呼びます。

MFC の言う「リストビュー」は「リストコントロールを用いた CView」のことで、同じ
名前ながら、Win32 API の定義する「リストビュー」とは異なるものです。

シャノン 2006/05/02(火) 14:21:53
とか書いてみて、「んなこた知ってるよ」と言われそうな気がしています。
すべて MFC を前提にした話であったならば、PATIOさんのおっしゃることで正解で
す。

#「リストビュー」には、MFC かそうでないかで、2つの意味があるということで。

PATIO 2006/05/08(月) 10:06:46
あいや、私のはMFCを想定して書いてましたが、断り書きを入れてませんでした。
正確に書くにはMFCのクラス名としてはと書くべきでした。
フォローありがとうございました。

古いスレッドには追加発言できません。