相変わらずWinNT4.0sp6(英語版) + VC++5.0sp3, MFC利用という環境です。
ある複数列リストを作りたいのですが、カラムヘッダの一部をグループ化したいのです。
具体的にはこんな感じです。
┏━━┯━━━━━━━━┯━━┓
┃ │ H2 │ ┃
┃ H1 ├──┬──┬──┤ H3 ┃
┃ │h2a │h2b │h2c │ ┃
┣━━┿━━┿━━┿━━┿━━┫
┃Data│Data│Data│Data│Data┃
┠──┼──┼──┼──┼──┨
┃Data│Data│Data│Data│Data┃
┗━━┷━━┷━━┷━━┷━━┛
上図で、ヘッダ部はまず3つに分かれており、それぞれ「H1, H2, H3」とcaptionをつけま
す。そしてH2がさらに3つに分かれてそれぞれ「h2a, h2b, h2c」とcaptionをつけます。
データ部だけを見たら普通の5列から成る表に見えます。
カラムヘッダをクリックしたときにはソート処理を行う...などの要求はないのでその辺
は気にしなくていいのですが、こういうヘッダを持つ表をCListCtrlもしくは他の手段で
どのようにすれば作れるでしょう?
以上、ご教授の程よろしくお願いします。
ヘッダを2列にすれば?
┏━━┯━━┯━━┯━━┯━━┓
┃ H1 │ H2 │ H2 │ H2 │ H3 ┃
┠──┼──┼──┼──┼──┨
┃ │h2a │h2b │h2c │ ┃
┣━━┿━━┿━━┿━━┿━━┫
┃Data│Data│Data│Data│Data┃
┠──┼──┼──┼──┼──┨
┃Data│Data│Data│Data│Data┃
┗━━┷━━┷━━┷━━┷━━┛
ソート云々の要求がないということであれば、
ヘッダ部はスタティックコントロールを敷き詰めて、
Data部はヘッダなし、境界線なしのリストコントロール、
さらに全体の外枠もスタティックコントロールで境界線をつくれば、
外観的にはさもひとつのコントロールのように見せる事は可能だと思います。
列幅変更も無理ですよ。
jklさんの案は見栄え的に却下、sugarさんの案は「列幅変更は実装して欲しい」とゴ
ネられて却下となりました。せっかくアドバイスいただいたのに済みません。
で、結局、カラムヘッダを1行にまとめるように仕様変更していただきました。
チェック漏れ。