2017-09-19 7 views
0

MFCでは、リストボックスのみをサブクラス化することで、複数列のコンボボックスを作成することは可能ですか?リストボックスのみをサブクラス化することで複数列のコンボボックスを作成することはできますか?

CodeprojectとCodeguruのウェブサイトでは、ownerdrawスタイルの派生CComboBoxでしかサンプルが見つかりませんでした。

+0

なぜあなたはそれらを使いたくないですか?既存のソリューションがいつ存在するかを尋ねている理由を教えてください。 – xMRi

+0

私のアプリケーションでは、ownerdrawでCComboBoxを使用すると、コード内で多くの変更を加える必要があります。リストボックスのみをサブクラス化することで達成できれば、コード変更はそれほど難しくありません。 – user566

+0

MFCを使用すると、クラス名とサブクラスを置き換えるだけで複雑になります。どんな変化が予想されますか?もちろん、必要なデータを表示するためのコードを書く必要がありますが、それ以上のことはありますか? – xMRi

答えて

1

コンボボックスコントロールの「リスト」部分は、リストボックスコントロールではありません。これとは別に、コンボボックスコントロールには実際には「列」がありません。これは、列レベルのデータを格納できないことを意味します(列ごとに1つの文字列または「項目」があります)所有者のみが作成できます。したがって、アプリの仕様が変更された場合(現在は列の書式設定が必要)、別のコントロールタイプを使用することを検討する必要があります。それでも、高さの項目を固定している場合、オーナー描画実装はそれほど難しくありません。この特定のコントロールのみに関係するため、アプリに大幅な変更を加える必要はありません。

関連する問題