• 締切済み

グラフレポートを作成するのに適したライブラリ

Visual C++でWindows用のアプリケーションを製作しています。データを円グラフや棒グラフなどで表示したいのですが、そのようなレポートを作成するのに適した商用ライブラリというのはありますでしょうか?海外製でもかまいません。 GDIではプリンターの機種によって出力に微妙な差があり、とてもサポートしきれないので、できれば商用ライブラリを利用したいと考えています。

みんなの回答

  • clsdi99
  • ベストアンサー率63% (31/49)
回答No.3

>その方法を具体的に解説している書籍やサイトはご存知ですか? 参考URLにあげておきます。 単純に「C Excel COM」でググっただけですが^^; >1ページに収まるように作ったのに、機種によって2ページになってしまったり、余白のサイズが全然違ったり、フォントの大きさが違ったりなどです。 なるほど。慣れないと難しく感じてしまうかもしれませんね。 基本は DPI(ドット/インチ)を考慮した実寸で考えた方が楽かもしれません。 プリンターのデバイスコンテキストからプリンタの能力を取得し(GetDeviceCapsで)DPIや論理/物理サイズなどから座標を求めて描画します。 また、フォントについても、ポイント単位で計算すれば画面上の見た目と印刷結果の見た目にそれほど差は生まれないと思います。 これ以上はここでは詳しく書ききれませんが、ググればきっと見つかると思います。

参考URL:
http://www.google.co.jp/search?hl=ja&lr=&q=C+Excel+COM&suggest=2&sa=X&oi=cjkrefinements&resnum=0&ct=result&cd=3
BearCave
質問者

お礼

Excelのサイト、参考になりました。ありがとうございました。

  • clsdi99
  • ベストアンサー率63% (31/49)
回答No.2

No1の者です。 一応念のための補足なのですが、エクセルではダメなのですか? と言ったのは、エクセルマクロなどでアプリを作るという意味ではなく、エクセルのオブジェクトをCOMなどを通してC++で使用すると言う意味です。 (念のため) また、 プリンターへの出力をどの様にお考えになっているか分かりませんが、どの辺が「機種によって出力に微妙な差」と感じているところなんでしょうか?

BearCave
質問者

お礼

アドバイスありがとうございます。 >エクセルのオブジェクトをCOMなどを通してC++で使用すると言う意味です。 そうゆう事が可能なのは知りませんでした。その方法を具体的に解説している書籍やサイトはご存知ですか? >どの辺が「機種によって出力に微妙な差」と感じているところなんでしょうか? 1ページに収まるように作ったのに、機種によって2ページになってしまったり、余白のサイズが全然違ったり、フォントの大きさが違ったりなどです。

  • clsdi99
  • ベストアンサー率63% (31/49)
回答No.1

エクセルではダメですか? ActiveXなら文化オリエント(グレープシティ株式会社)が出しているものがよく使われるような気がします。 あとはフリーでcode guru やcode projectにそのようなライブラリがあるかもしれません。 ところで、GDIで・・・という記述があるところ見ると、やろうと思えば画面描画は自前で出来るんですよね? 「プリンターの機種によって・・・」も当然あるのですが、あともう一息で作ることが可能なんではないでしょうか??

BearCave
質問者

補足

製作中のアプリケーションからレポート作成できるようにしたいので、エクセルではダメなんです。今まではGDIでやっていましたが、プリンターによって出力結果に違いがあり、その修正と研究の為に膨大な時間をかけなければならず、コストがかかり過ぎてしまいました。なのでいっそのことライセンス料を払って既存のライブラリを使った方が安上がりだろうと。何かプリンターの出力に問題があれば、その会社がサポートをしてくれるので。フリーのものですとサポートが無いので、やはりGDIと同じ結果になりそうです。