- - PR -
VS2005 C# にて VB6のVS-VIEW7.0と同じ事を行うには?
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-08-08 15:45
いつも参考にさせて頂いております。
現在、VB6&VS-VIEW7.0Jにて作成していたアプリケーションを VS2005 C#にて焼き直しの作業をしております。 VB6&VS-VIEWでは、「プレビュー画面を表示する」目的にて VS-VIEWを使用しておりました。(レポートデザイン機能等は 使わずに、全て座標指定で文字や線を描画といった書き方です) 当初、C#にて作り直す際には「出来るだけサードパーティーは 使用したくない」という思いで、VS2005 C#の機能(?)だけで 作っておりましたが…どうしても改頁が上手く行えずに、最終 手段としてVS-VIEWを使おうか、という事になりました。 (この改頁が出来ない…も検索してみたのですが、良い方法が 見つかりませんでした。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7199&forum=7 ↑この状態なんですけど…レスないのですよね。。) ここで困ったのが、VS2005だとVS-VIEWでは無く、TrueWinReportや PreviewFro.NET にモジュールが分かれているみたいでして…。 どちらもトライアルをダウンロードして、Helpを見て探しているの ですが「VS-VIEWと同じ、細かい位置(座標)やフォントサイズ、 テキストの内容を指定して印刷する」 【こんなイメージです。VB6ですが】 Frm_Prev.VSPrinter.FontBold = False Frm_Prev.VSPrinter.FontSize = 8 Frm_Prev.VSPrinter.CurrentX = (WCPos + 32) & "mm" Frm_Prev.VSPrinter.CurrentY = WLPos & "mm" Frm_Prev.VSPrinter.Text = Trim(Prt_Nam) ↑これと同じ事は、どっちを使ってどう書いたら実現できるのか? それとも不可能なのか? というのが、Helpを読んでもなかなか分かりません。。 (以前GrapeCityに聞いたら、TrueWinReportで出来ますよ〜って言われた のですが…) 一番の目的は「C#で正しく改頁したい」 これが、サードパーティーのものを使わないといけないのであれば、購入を 考えています。以前使い慣れているのは、VS-VIEWなので出来るだけ、これに 近い感覚で使えるものがあれば良いのですが… 同じ事で困られた方や、現在お使いの方で良いアドバイスがあれば 頂けないでしょうか? どうかよろしくご教授願います!! | ||||||||
|
投稿日時: 2006-08-08 20:40
何を使った結果、"改頁が上手く行えず" なのかが書かれていませんが、
からすると、PrintDocument クラスを使用しているのでしょうか。 リンク先の方も何やら誤解されているようですが、HasMorePages プロパティは、 再度、PrintPage イベントを起こすかどうかを意味します。 つまり、2 回目の PrintPage イベント起きた場合は、2 ページ目の内容を作成することになります。 HasMorePages プロパティが true になったタイミングで改ページされるわけではありません。 このあたりは、誤解されることが多いのですが、リファレンスを読めば正しく理解できるかと思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-08-09 15:26
>じゃんぬねっと様
レスありがとうございます。 C#で出来ない、というのは先に貼っておりましたリンク先と 全く同じやり方、状態で行き詰っております。。 探し方が悪い、というのもあると思いますが…数人で数日間ずっと色々 ネットで調べたり、ヘルプ見たり試行錯誤して…という感じでして。 もう時間も迫って来ているので、諦めてサードパーティー導入しよう!と いう事で昨日の調査に至った次第です。 VS-VIEWの代わりは、結局書いていた事を行うのは Previewfor.NETで可能 というのは判明しました。(同メーカーで後続ソフトならば、対応表の様な 移行ユーザーに親切なHelp位用意して欲しい…っていうのはわがままなので しょうか?(笑)←そういうものなのでしょうかね。。) 何とか分かったので、そちらを使用する方向に向かっておりますが… C#でPrintDocmentを使って改頁というのは、実際は可能なのでしょうか? (あのリンク先のやり方で) 可能なのであれば、その方法もしくは、リファレンスのリンクでも結構ですので ご教授頂けないでしょうか? どうしても見つけられなかったものでして、結果 として出来るのかどうかがちょっと気になります。 またよろしければレス頂けると嬉しいです。 | ||||||||
|
投稿日時: 2006-08-09 15:50
Do Loopから抜けてください。PrintPageイベントから抜けると改頁され、新たなページを出力するためにPrintPageイベントが再度発生するはずですけど・・・。PrintDocument.PrintPage イベントのOnlineHelpに書かれているコードでも、HasMorePagesをTrueにした後に抜けていますよね。 | ||||||||
|
投稿日時: 2006-08-09 15:54
先の投稿で、リンク先の方も "誤解されている" と書いています。 HasMorePages プロパティの使い方を間違えている以上できないでしょう。 改ページ自体は、正しく HasMorePages プロパティを使うことで可能です。 これも、先の投稿どおりです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-08-09 15:57
最初のじゃんぬねっと氏の返信に書いてあると思うのだが・・すべてね。
ちゃんと読まないんなら質問する意味なんてないと思うが? く。かぶっちまった。 [ メッセージ編集済み 編集者: ぶさいくろう 編集日時 2006-08-09 15:58 ] | ||||||||
|
投稿日時: 2006-08-09 18:00
ありがとうございます&申し訳ありません。
やっと理解出来ました。 リファレンスを読めば…というくだりで、HasMorePagesのヘルプを見ても やはり解決できず、(どのタイミングで改頁出来るのかが理解できてません でした)どう誤解していたのかが分からず、再質問してしまいました。 PrintDocument.PrintPage イベントのOnlineHelp…ここに答えはあったの ですね!! たしかに今読み起こすとPrintPageにも触れられていましたが、 気が焦っているのもあり、そこまで思い至りませんでした。 そもそものループのさせ方が悪い、という事だったのですね。 必死で色々調べていたのに、何故ここに辿り着けなかったのだろう…と ちょっと悔しいのですが(苦笑)現在、これで実現できるか試している所です。 行き詰って焦っていた事もあり、最初のお答えをちゃんと読み取れませんでした。 申し訳無いです。 でも、おかげさまで何とかなりそうです。 皆様ありがとうございました! |
1