ClistCtrl内に別のコントロール

[戻る]
ネゴ 2009/05/17(日) 21:43:54
いつも拝見させて頂いております。

CListCtrlのサブアイテム内にボタン、またはコンボボックスを表示させるのに
はどのようにしたらよろしいでしょうか?

同じような質問が下記にありましたが、
コンボボックスをリスト上に重ねる方法です。
このようにしか方法はないのでしょうか?
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200303/03030037.txt

環境は2003 MFCです。

PATIO 2009/05/18(月) 11:50:23
言われているような方式で実装するのが一般的だと思いますよ。
元々、CListCtrlは他のコントロールを格納するような仕様にはなっていませんから。

既に用意されているコンボボックスというコントロールは一つのウインドウですから
CListCtrlに組み込むと言うのは無理だと思います。
オーナードロウを駆使してあたかもコンボボックスである可能に見せる方法も
無いとは言えないと思いますけれど、全ての状況を想定して描画を実装する手間を
考えると既にあるコントロールを重ねて表示する方法の方が現実的でしょう。

ちなみにチェックボックスを表示する機能がCListCtrlには有りますけれど、
これはCListCtrl内で自前で描画しているようです。
まあ、チェックボックスは動作が単純ですからコンボボックスに比べたら
実装が幾分楽だと思いますけれど。
(それでも動作テストまで考えると結構手間ですけれど)

PATIO 2009/05/18(月) 11:52:05
あうあう、誤字。

誤)
オーナードロウを駆使してあたかもコンボボックスである可能に見せる方法も

正)
オーナードロウを駆使してあたかもコンボボックスであるかのように見せる方法も

ネゴ 2009/05/18(月) 12:34:57
[[解決]]
PATIO様、ありがとうございます。

重ねる方法で実装してみます。
分からない箇所がでてきたらまた質問させて頂きます。

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