表形式でデータを表示するだけならリストコントロールのレポートビューでなんとでもなりますが、入力に対応させようとするとリストコントロールではちょっと無理があります(頑張ればこれでも行けないことはないと思いますが)。
他の開発環境ではグリッドコントロールなどと呼ばれている物が有りますが、VC(MFC)には付いてきません。
(標準のコントロールとしては、そのような物が無いため)
とはいえ、実際にアプリを作る際には、グリッドコントロールはしょっちゅう必要になってきますし、ソフトウェアハウスなんかではグリッドコントロールを独自開発して使っているのが実状だと思います。
そんな中、商品でも何でも良いのである程度汎用的に使えるグリッドコントロールは無いものか、ざっくりと探してみたので、ざっくりとまとめておきます。
Microsoft FlexGrid Control
ActiveXで使うグリッドコントロール。
http://noribeat.s38.xrea.com/developer/03031501.html
http://hp.vector.co.jp/authors/VA014436/prg_memo/windows/vctips/004.html
DataGridという奴もあるようですが、こちらはDB用なのかな?
MFC Grid control
Code Projectで公開されているライブラリ。
http://www.codeproject.com/KB/miscctrl/gridctrl.aspx
UNICODE環境でコンパイルするとOLEデータの貼り付け時に文字化けたり、そもそもコピペ時にCF_TEXT使ってたり(UNICODEなら本来はCF_UNICODETEXT)、ちょっとプログラムを修正する必要がありますが、結構いろんな事ができます。
ただ、操作性やデザイン面で好き嫌いが出そうな予感です。
BCGControlBar Library Professional Edition
VS2008 Future Packの元ネタである、このライブラリ集にもグリッドコントロールがあります。
http://www.bcgsoft.com/samples/grid.htm(サンプル)
デザインがなかなか格好良く、しかもかなりの高機能っぷりです。
なんでも出来そうです。
ただ、これだけデザイン良くて高機能なのに、すごく動作が重いんです。
とても実用に耐えられるものではありません。
(データが1画面に納まるような時でないと使い物になりません。)
これが動作が軽ければ文句なしに買っていたのに、非常に残念です。
ご意見お待ちしております
うちの会社はこの万能グリッドコントロールを使ってるよ!とか、むしろうちの会社でグリッドコンポーネント作ってるから買ってよ!みたいな宣伝とかありましたらメールください。
※ VS2005/VS2008 + UNICODE + MFC 環境でサクっと動く物をお願いいたします。