VB6.0で印刷プレビューを行うには?

解決


別加夢  2005-02-23 15:16:43  No: 88568  IP: [192.*.*.*]

VB6.0で印刷プレビューを作成するコントロールもしくは方法ありましたら
教えてください。.NETだとPrintPreviewControlとかいうのがあると聞きま
した。6.0の場合は印刷プレビューを作成するコントロールありませんか?
現在の印刷方法は
  Printer.Print  ・・・・
というように印刷してて、特にActiveReportのような特殊なコントロール
は使用していません。どなたか方法が分かる方教えてください。

編集 削除
魔界の仮面弁士  2005-02-23 17:01:34  No: 88569  IP: [192.*.*.*]

印刷に、「Printer.Print」などを使っているなら、プレビューには
「Form2.Print」や「Picture1.Print」などを使ってみては如何でしょう。


たとえば、印刷ロジック部分を

  Public Sub Draw(ByVal Campus As Object)
     If Not TypeOf Campas Is Printer Then
         Campas.Cls
     End If

     '印刷処理
     Campas.Print "データ"
     Campas.Line (0, 0)-(1000, 1000)

     If TypeOf Campas Is Printer Then
         Campas.EndDoc
     End If
  End Sub          

のようにしておけば、印刷時には
   Draw Printer
プレビュー時には
   Draw Picture1
のように記述する事ができます。

編集 削除
魔界の仮面弁士  2005-02-23 17:03:01  No: 88570  IP: [192.*.*.*]

あう。スペルミス。m(_ _)m

>  Public Sub Draw(ByVal Campus As Object)
>     If Not TypeOf Campas Is Printer Then

Campas ではなく、Campus に統一しておいてください。

編集 削除
別加夢  2005-03-03 14:26:49  No: 88571  IP: [192.*.*.*]

返答遅くなりました。
確かにこの方法ならプレビューのようなものができると思います。
ですが、改ページなどで複数ページにわたる場合対応できないのでは?
という疑問が浮かびます。やはり、VB6.0だと印刷プレビューを作成する
コントロールがないのでしょうか?

編集 削除
030  2005-03-03 14:33:44  No: 88572  IP: [192.*.*.*]

>改ページなどで複数ページにわたる場合対応できないのでは?
そこはあなたの腕の見せ所なんじゃないですか?

というより質問は印刷プレビューを作りたいじゃなくて
印刷プレビューのでるコントロールが欲しいですか?
買い物ならあると思いますよ。

編集 削除
魔界の仮面弁士  2005-03-04 10:28:23  No: 88573  IP: [192.*.*.*]

> VB6.0だと印刷プレビューを作成するコントロールがないのでしょうか?

あります。印刷プレビュー機能を持つコントロールとしては、
VB6にDataReportコントロールやCrystalReportコントロールが
付属しています。エディションにもよりますけれども。

ただ、これらは Printerオブジェクトとは印刷手順がまったく異なるので、
現在の「Printer.Print  ・・・・」なコードを流用する事はできません。

現在の印刷ロジックを捨て去っても良いのであれば、こうした
外部コンポーネントに頼ってみるのも手かも知れません。

> 改ページなどで複数ページにわたる場合対応できないのでは?
たとえば、プレビューフォーム側に、独自のNewPageメソッドを
実装しておき、その中で
  Public Sub NewPage()
    Set Picture配列変数(n) = Me.Image
    Me.Cls
  End Sub
のような実装を行うことで対応できないでしょうか?

で、別途実装したページ切り替えボタンで、
  Set .Picture = Picture配列変数(ページ番号)  
のようにして切り替えて表示させるとか……。


# ちなみに、秀丸エディタのプレビュー機能(秀丸パブリッシャー)は、
# VB6にて開発されているようですね。(プレビュー部分はPictureBox)

編集 削除
別加夢  2005-03-05 11:53:23  No: 88574  IP: [192.*.*.*]

魔界の仮面弁士さん、親切丁寧にありがとうございます。
アドバイスを参考に色々試してみようと思います。
一応、これでこの質問は解決という扱いにしたいと思います。
今後ともよろしくお願いします。

編集 削除