- PR -

VS2005 C# にて VB6のVS-VIEW7.0と同じ事を行うには?

1
投稿者投稿内容
Sala
会議室デビュー日: 2006/06/08
投稿数: 14
投稿日時: 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なので出来るだけ、これに
 近い感覚で使えるものがあれば良いのですが…

 同じ事で困られた方や、現在お使いの方で良いアドバイスがあれば
 頂けないでしょうか? どうかよろしくご教授願います!!
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-08-08 20:40
引用:

Salaさんの書き込み (2006-08-08 15:45) より:

どうしても改頁が上手く行えずに、最終手段としてVS-VIEWを使おうか、という事になりました。


何を使った結果、"改頁が上手く行えず" なのかが書かれていませんが、

引用:

↑この状態なんですけど…レスないのですよね。。


からすると、PrintDocument クラスを使用しているのでしょうか。

リンク先の方も何やら誤解されているようですが、HasMorePages プロパティは、
再度、PrintPage イベントを起こすかどうかを意味します。
つまり、2 回目の PrintPage イベント起きた場合は、2 ページ目の内容を作成することになります。

HasMorePages プロパティが true になったタイミングで改ページされるわけではありません。
このあたりは、誤解されることが多いのですが、リファレンスを読めば正しく理解できるかと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Sala
会議室デビュー日: 2006/06/08
投稿数: 14
投稿日時: 2006-08-09 15:26
>じゃんぬねっと様

 レスありがとうございます。
 C#で出来ない、というのは先に貼っておりましたリンク先と
 全く同じやり方、状態で行き詰っております。。
 探し方が悪い、というのもあると思いますが…数人で数日間ずっと色々
 ネットで調べたり、ヘルプ見たり試行錯誤して…という感じでして。
 
 もう時間も迫って来ているので、諦めてサードパーティー導入しよう!と
 いう事で昨日の調査に至った次第です。

 VS-VIEWの代わりは、結局書いていた事を行うのは Previewfor.NETで可能
 というのは判明しました。(同メーカーで後続ソフトならば、対応表の様な
 移行ユーザーに親切なHelp位用意して欲しい…っていうのはわがままなので
 しょうか?(笑)←そういうものなのでしょうかね。。)

 何とか分かったので、そちらを使用する方向に向かっておりますが…

 C#でPrintDocmentを使って改頁というのは、実際は可能なのでしょうか?
 (あのリンク先のやり方で)
 可能なのであれば、その方法もしくは、リファレンスのリンクでも結構ですので
 ご教授頂けないでしょうか? どうしても見つけられなかったものでして、結果
 として出来るのかどうかがちょっと気になります。

 またよろしければレス頂けると嬉しいです。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-08-09 15:50
引用:

Salaさんの書き込み (2006-08-09 15:26) より:
 C#で出来ない、というのは先に貼っておりましたリンク先と
 全く同じやり方、状態で行き詰っております。。


Do Loopから抜けてください。PrintPageイベントから抜けると改頁され、新たなページを出力するためにPrintPageイベントが再度発生するはずですけど・・・。PrintDocument.PrintPage イベントのOnlineHelpに書かれているコードでも、HasMorePagesをTrueにした後に抜けていますよね。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-08-09 15:54
引用:

Salaさんの書き込み (2006-08-09 15:26) より:

C#でPrintDocmentを使って改頁というのは、実際は可能なのでしょうか?
(あのリンク先のやり方で)
可能なのであれば、その方法もしくは、リファレンスのリンクでも結構ですので


先の投稿で、リンク先の方も "誤解されている" と書いています。
HasMorePages プロパティの使い方を間違えている以上できないでしょう。

改ページ自体は、正しく HasMorePages プロパティを使うことで可能です。
これも、先の投稿どおりです。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2006-08-09 15:57
最初のじゃんぬねっと氏の返信に書いてあると思うのだが・・すべてね。
ちゃんと読まないんなら質問する意味なんてないと思うが?

く。かぶっちまった。

[ メッセージ編集済み 編集者: ぶさいくろう 編集日時 2006-08-09 15:58 ]
Sala
会議室デビュー日: 2006/06/08
投稿数: 14
投稿日時: 2006-08-09 18:00
ありがとうございます&申し訳ありません。
やっと理解出来ました。

リファレンスを読めば…というくだりで、HasMorePagesのヘルプを見ても
やはり解決できず、(どのタイミングで改頁出来るのかが理解できてません
でした)どう誤解していたのかが分からず、再質問してしまいました。

PrintDocument.PrintPage イベントのOnlineHelp…ここに答えはあったの
ですね!! たしかに今読み起こすとPrintPageにも触れられていましたが、
気が焦っているのもあり、そこまで思い至りませんでした。

そもそものループのさせ方が悪い、という事だったのですね。
必死で色々調べていたのに、何故ここに辿り着けなかったのだろう…と
ちょっと悔しいのですが(苦笑)現在、これで実現できるか試している所です。

行き詰って焦っていた事もあり、最初のお答えをちゃんと読み取れませんでした。
申し訳無いです。 でも、おかげさまで何とかなりそうです。
皆様ありがとうございました!
1

スキルアップ/キャリアアップ(JOB@IT)