tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトル別フォームを表示せずにA4サイズに印刷
記事No14704
投稿日: 2010/05/26(Wed) 17:35
投稿者いかるご
環境 VB6 SP5 WindowsXP SP2

VC++(.net)歴 -> 2年
VB6.0 -> 1ヶ月

フォームモジュールを2つ用意し(Form1,Form2)
Form1内にあるラジオボタンのON/OFFで
Form2を印刷するかどうか判断するプログラムを作成しています。
Form2を印刷する場合は画面には表示させません。

ちなみにForm2ではラベル、Shapeなどが張り付いており、
プログラム実行時にForm2のラベルに日付等を登録します。

そこで、Form1に以下の処理を記述しました。

Private Sub Command1_Click()
    Load Form2
    Form2.PrintForm
End Sub

とすれば、Form2を表示せずに印刷することはできるのですが、
PrintFormでは印刷サイズ等を指定することはできないので
困っています。


マイクロソフトのサポート
(画面、フォーム、ウィンドウを取り込んで印刷する方法)
http://support.microsoft.com/default.aspx?scid=kb;ja;161299
上記も試したのですが、
Form2を一度表示させなくてはならないことや
Form2でクリックイベントをいれないと
現在表示されている画面が取得できないなどがわかり断念しました。

本来であればVB6.0を基礎から学べをお叱りを受けそうですが、
ご教授のほど、宜しくお願い致します。

[ツリー表示へ]
タイトルRe: 別フォームを表示せずにA4サイズに印刷
記事No14705
投稿日: 2010/05/26(Wed) 19:04
投稿者花ちゃん
> Private Sub Command1_Click()
>     Load Form2
>     Form2.PrintForm
> End Sub

下記ではだめだったのでしょうか?

Private Sub Command1_Click()
    Load Form2
    Printer.Orientation = vbPRORLandscape
    Printer.PaperSize = vbPRPSA4
    Form2.PrintForm
End Sub

ここの印刷関係 参照
http://www.hanatyan.sakura.ne.jp/vbhlp/index.html

[ツリー表示へ]
タイトルRe^2: 別フォームを表示せずにA4サイズに印刷
記事No14711
投稿日: 2010/05/27(Thu) 09:23
投稿者いかるご
ご回答有難うございます。

説明が足りませんでした。
申し訳ありません。

実現したいことはForm2を印刷する際に
A4サイズぴったりにForm2の画像(ラベル、Shape)を
引き伸ばした上で印刷したいということです。

現在の私が使用しているモニタの解像度は1024×768、
ScaleHeightの最大が12990(Twip)となっています。

このまま印刷してしまうと、
印刷した紙の下の部分が余白となってしまいます。

これを回避する策があればご教授願います。

[ツリー表示へ]
タイトルRe^3: 別フォームを表示せずにA4サイズに印刷
記事No14714
投稿日: 2010/05/27(Thu) 10:34
投稿者花ちゃん
> 実現したいことはForm2を印刷する際に
> A4サイズぴったりにForm2の画像(ラベル、Shape)を
> 引き伸ばした上で印刷したいということです。

だったら、印刷する前に、Form のサイズを印刷する用紙のサイズに
変更するのが一番簡単かと思いますよ。
又、下記を応用する事もできるかと。
http://hanatyan.sakura.ne.jp/patio/read.cgi?no=195

後は、Form を画像として取得して拡大・縮小して印刷するしかないのでは。
(基本的に印刷するのも、表示するのも同じなので)

※ 色々条件があるなら最初に書いておいて頂かないと...。
http://www.hanatyan.sakura.ne.jp/hazimeni.htm#keijiban

[ツリー表示へ]
タイトルRe^4: 別フォームを表示せずにA4サイズに印刷
記事No14716
投稿日: 2010/05/27(Thu) 14:00
投稿者いかるご
早速のご回答有難うございます。

先ほど、下記方法にてForm2をA4サイズに引き伸ばし且つ
Form2を表示せずに印刷することができました。

> 又、下記を応用する事もできるかと。
> http://hanatyan.sakura.ne.jp/patio/read.cgi?no=195

大変助かりました。
花ちゃん様、本当にありがとうございました。

>※ 色々条件があるなら最初に書いておいて頂かないと...。
すいません。以後気をつけます。

[ツリー表示へ]