喫茶XRAYトップページ

[スレッド全体
]

[988] ドキュメントを印刷する最初の最初は?返信 削除
2006/11/4 (土) 01:56:04
皆さん、お茶をお楽しみのところご無礼します。
環境はWindowsXP Delphi6 Personalです。
印刷の初歩の初歩の入り口が解らずうろうろしています。
RichEditでメモ帳を作成していますが、印刷の段階で
はたとたたずんでいます。
印刷といえば
    if PrintDialog1.Execute then
    begin
        RichEdit1.Print(Caption);
    end;
位しか知りません。これでは間が抜けているので、XRAYさんの
plSetPrinterをインストールして、Demo、説明を読んでいるのですが
解りません。
RichEditに表示しているテキスト文を印刷しようとして
       Printer.Title:='印刷のテスト';
       Printer.Canvas.Font.Name:='MS ゴシック';
       Printer.Canvas.Font.Size:=10;
       Printer.Canvas.TextOut(1000,1000,TabSheetEx.RichEdit1.Text);
とやってみるのですが一行しか印刷しません。
つまり、高機能を使う以前のお馬鹿な質問ですがご指導ください
ませんか。
よろしくお願いします。




[1004] 帳票の印刷とWebの印刷返信 削除
2006/11/5 (日) 12:43:29 Mr.XRAY
▼ 宮さんへ

TplPrev(印刷部レビュー制御)とTplSetPrinter(プリンタ設定)コンポーネント
は、それぞれに添付してあるテストプログラムの様な用途に使用するものです。
RichEditの印刷については、前に述べた通りです。

Webのページの印刷に使用するものではない、と現在のところ認識しておいて
下さい。
また、TPrinterSetupDialog,TPrintDialogもWebの印刷の設定には使用できな
いと考えて下さい。


[1005] Re:帳票の印刷とWebの印刷返信 削除
2006/11/5 (日) 21:53:53
▼ Mr.XRAYさん
> Webのページの印刷に使用するものではない、と現在のところ認識しておいて
> 下さい。
> また、TPrinterSetupDialog,TPrintDialogもWebの印刷の設定には使用できな
> いと考えて下さい。

何度もご丁寧に教えて頂いてありがとうございます。
了解しました。

なにせカラカラに乾いてきた脳みそですから、少しずつ、理解できる箇所も
ちらほら脳みそに入り込んできています。
解っている人から見れば、「ばっかじゃなかろか」と思われるかもしれませんが
いたって本人は必死なのです。

NkPrintersもインストして見ているのですが、
これは、はっきりとPrintDialogとPrinterSetupDialogは不要と書いてありましたから
外観は解ったのですが、
入門者が一番理解できにくいのはPrinterに描画して印刷する部分だと思います。
ファイルを直接ロードして印刷したり
 bm.LoadFromFile(ExtractFilePath(Application.ExeName) + 'shun06.bmp');
あり得ない例ですが、事前にセットした文字列を直接プリントしたり
NkPrinter.Canvas.TextOut(10, 10, '息子の俊一です');
だからディスプレイのドキュメントを印刷するのも解るだろうと言われても
?????。ディスプレイに表示しているものを印刷する例がない。
余白をとる例もない。コンポーネントの外観はすぐつかめたのですが
一番やりたい余白と複数ページがないので初心者には無理。

plSetPrinter, plPrevは各パートは非常に詳細に書かれているので解りやすい。
しかし、最初外観が見えない。PrintDialogとPrinterSetupDialogと同じような
アイコンを貼り付けたのだから不要なのだろう。と考えたり
余白を設定する、例の上、下、右、左を入力するEditはどこに作るのかな?。
PrintDialogのフォームを動的に広げてコードで作るんだ!と
思ったり、ようするに外回りがなかなかつかめませんでした。
それに、RichEditのコード例のページは全然気付きませんでした。
コンポーネントのところだけ見ていました。
とにかく少しずつ前進あるのみです。
今後ともよろしくお願いいたします。m(_ _)m


[1007] 印刷の余白の設定方法と使用方法返信 削除
2006/11/5 (日) 23:19:33 Mr.XRAY
▼ 宮さん
印刷の際の余白というのは、そのアプリを作成する人が設定するものです。
余白を決めたら、その余白に入るように印刷のコードを書くわけです。

例えばワードでは、余白を設定する画面があります。これを設定すると
ワードは、印刷の時に(もちろん印刷プレビューの時も)これに合わせて
印刷するようになっているわけです。

例えばここを見て下さい。
http://homepage2.nifty.com/Mr_XRAY/Delphi/plPrev/T_TextOutFile.htm
ここのリスト1では、

with plPrev1 do begin
         TopMargin   := 300; {上端マージン}
         BottomMargin:= 250; {下端マージン}
         LeftMargin  := 300; {左端マージン}
         RightMargin := 250; {右端マージン}

というコードで、余白(マージン)を決めています。決めたからといって
その設定を自動的にOSやDelphiがやつてくれるわけではありません。
自分で、これらの値を使用したコードを書くわけです。
必要であれば、これらの値を入力するためのTEditを配置したフォームを
作成するわけです。上ではコード上で設定しているだけです。

Delphi7であれば、PageSetupDialogを使用して次のようにもできますが、
そうでなければ、自作です。
http://homepage2.nifty.com/Mr_XRAY/Others/PageSetupDialog.htm

procedure TForm1.Button1Click(Sender: TObject);
begin
     if PageSetupDialog1.Execute then begin
       TopMargin:=PageSetupDialog1.MarginTop;
     end;
end;


[1011] Re:印刷の余白の設定方法と使用方法返信 削除
2006/11/6 (月) 10:41:37
▼ Mr.XRAYさん
> ▼ 宮さん
> Delphi7であれば、PageSetupDialogを使用して次のようにもできますが、
> そうでなければ、自作です。

ありがとうございます。
解りました。
なんだか、だんだん解ってきました。
がんばります。


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82