喫茶XRAYトップページ

[スレッド全体
]

[84] Re7:plPrevのPageWidth,PageHeightについて教えて!返信 削除
2005/1/19 (水) 17:44:55 Mr.XRAY
▼ KSCさん

A4横の場合の設定です.
usesにPrintersが必要(poLandScape定数使用のため).

なお,ViewWidth,ViewHeightは特別な用途に使用します.
プレビュー上の用紙の見かけのサイズを変更するだけで,用紙サイズ
を変更するわけではありません.用紙そのものは,プリンタの設定で
行います.通常は設定する必要はありません.

procedure TForm1.Button1Click(Sender: TObject);
begin
     //ユーザ定義用紙にしたい場合は,以下の2行のかわりに
     //plPrev1.plSetPrinter.SetUserPaper(........)を使う
     plPrev1.plSetPrinter.PaperNumber:=DMPAPER_A4;
     plPrev1.plSetPrinter.Orientation:=poLandScape;

     plPrev1.BeginDoc;
     plPrev1.FontSize(100);
     plPrev1.TextOut(300,500,'喫茶XRAY 喫茶XRAY 喫茶XRAY');
     plPrev1.EndDoc;
     plPrev1.ShowModal;
end;

>procedure TPrevFrm.ReDrawBtnClick(Sender: TObject);

ということは逐次表示方式でしょうか.
このReDrawBtnというのは(継承)プレビューフォーム上にあるのでしょうか.




[85] プレビュー中に用紙サイズ等を変更する方法(逐次表示方式)返信 削除
2005/1/19 (水) 18:17:23 Mr.XRAY
▼ KSCさん
> ReDrawBtnClickということは逐次表示方式でしょうか.
> このReDrawBtnというのは(継承)プレビューフォーム上にあるのでしょうか.


もし上記の状況での使用であれば,以下のようにしてみて下さい.
(先読み方式ではこの手法は使えません)
つまり,プリンタの設定ダイアログを表示するかわりに
PrinterSetBtnClickの引数にnilを渡して設定します.nilを渡すと
ダイアログを表示しないで現在のプリンタの設定でプレビューし直します.

Btn1ClickがReDrawBtnClickに該当.
Form1はメインフォーム
usesにPrintersが必要

procedure TplPrevForm2.Button1Click(Sender: TObject);
begin
    Form1.plPrev1.plSetPrinter.PaperNumber:=DMPAPER_A4;
    Form1.plPrev1.plSetPrinter.Orientation:=poLandScape;
    PrinterSetBtnClick(nil);
end;

[87] Re:プレビュー中に用紙サイズ等を変更する方法(逐次表示方式)返信 削除
2005/1/19 (水) 19:11:18 KSC
▼ Mr.XRAYさん

こんばんは。

> もし上記の状況での使用であれば,以下のようにしてみて下さい.
> (先読み方式ではこの手法は使えません)
> つまり,プリンタの設定ダイアログを表示するかわりに
> PrinterSetBtnClickの引数にnilを渡して設定します.nilを渡すと
> ダイアログを表示しないで現在のプリンタの設定でプレビューし直します.
>
> Btn1ClickがReDrawBtnClickに該当.
> Form1はメインフォーム
> usesにPrintersが必要
>
> procedure TplPrevForm2.Button1Click(Sender: TObject);
> begin
>     Form1.plPrev1.plSetPrinter.PaperNumber:=DMPAPER_A4;
>     Form1.plPrev1.plSetPrinter.Orientation:=poLandScape;
>     PrinterSetBtnClick(nil);
> end;


データを読み込んだ際に、
plPrev1.plSetPrinter.Orientation:=poLandScape;
PrinterSetBtnClick(nil);

を実行する事で問題解決する事が出来ました。
ありがとうございました。

これからも宜しくお願い致します。


[86] Re8:plPrevのPageWidth,PageHeightについて教えて!返信 削除
2005/1/19 (水) 19:09:09 KSC
▼ Mr.XRAYさん

こんばんは。

> A4横の場合の設定です.
> usesにPrintersが必要(poLandScape定数使用のため).
>
> なお,ViewWidth,ViewHeightは特別な用途に使用します.
> プレビュー上の用紙の見かけのサイズを変更するだけで,用紙サイズ
>   ・
>   ・
>   ・
>      //ユーザ定義用紙にしたい場合は,以下の2行のかわりに
>      //plPrev1.plSetPrinter.SetUserPaper(........)を使う
>      plPrev1.plSetPrinter.PaperNumber:=DMPAPER_A4;
>      plPrev1.plSetPrinter.Orientation:=poLandScape;


用紙サイズの設定は、既定サイズについてはPaperNumberの様に定数にて設定するしか方法は、ありませんか?
と言うのは、レイアウトデータが全てmmデータで管理している為。
既定サイズもユーザー指定サイズの様にSetUserPaperで設定しても問題ないのでしょうか?

> >procedure TPrevFrm.ReDrawBtnClick(Sender: TObject);
>
> ということは逐次表示方式でしょうか.
> このReDrawBtnというのは(継承)プレビューフォーム上にあるのでしょうか.


はい。その通りです。

[88] Re9:plPrevのPageWidth,PageHeightについて教えて!返信 削除
2005/1/19 (水) 19:28:00 Mr.XRAY
▼ KSCさん

> 既定サイズもユーザー指定サイズの様にSetUserPaperで設定しても問題ないのでしょうか?

問題ないはずです.
ただし,指定したサイズが規定の用紙の場合,その用紙が選択されますが,
ユーザ定義(の名前の)用紙も作成されてしまいます.
(WindowsNT系のOS場合)

解決に時間がかかってしまって申し訳ないですね.
最近,ここのマスターは,年のせいか,脳が軟化しているようで,
読解力が落ちてきているようなんです.

[89] Re10:plPrevのPageWidth,PageHeightについて教えて!返信 削除
2005/1/19 (水) 23:19:36 KSC
▼ Mr.XRAYさん

こんばんは。

> > 既定サイズもユーザー指定サイズの様にSetUserPaperで設定しても問題ないのでしょうか?
>
> 問題ないはずです.
> ただし,指定したサイズが規定の用紙の場合,その用紙が選択されますが,
> ユーザ定義(の名前の)用紙も作成されてしまいます.
> (WindowsNT系のOS場合)


既定サイズですが、オンラインマニュアルにはD___A3が数値で8とか書いてあったように
記憶していますが、既定サイズの名前一覧は、オンラインマニュアル上に書いてあったでしょうか?

> 解決に時間がかかってしまって申し訳ないですね.
> 最近,ここのマスターは,年のせいか,脳が軟化しているようで,
> 読解力が落ちてきているようなんです.


いえいえ、そんな事はありません。
素早い対応をして頂き、大変助かりました。
社内用のデータベースソフト開発で今回の件が引っかかっていたのですが、
おかげで解決でき、明日から別画面の開発に移れます。

ありがとうございました!

[90] 用紙サイズの定数値は Win32 APIヘルプで返信 削除
2005/1/19 (水) 23:38:22 Mr.XRAY
▼ KSCさん

> 既定サイズですが、オンラインマニュアルにはD___A3が数値で8とか書いてあったように
> 記憶していますが、既定サイズの名前一覧は、オンラインマニュアル上に書いてあったでしょうか?


ありません.一時期は掲載していたのですが,量があるのでやめました.
Win32 APIのヘルプをDevModeで検索すると一覧がありますので,そちらを
参考にして下さいませ.

[93] Re:用紙サイズの定数値は Win32 APIヘルプで返信 削除
2005/1/20 (木) 08:30:01 KSC
▼ Mr.XRAYさん

おはようございます。

> > 既定サイズですが、オンラインマニュアルにはD___A3が数値で8とか書いてあったように
> > 記憶していますが、既定サイズの名前一覧は、オンラインマニュアル上に書いてあったでしょうか?
>
> ありません.一時期は掲載していたのですが,量があるのでやめました.
> Win32 APIのヘルプをDevModeで検索すると一覧がありますので,そちらを
> 参考にして下さいませ.


会社の書庫にWindows95 APIバイブルが眠っている事を思い出して、朝、引っ張り出して調べたら載っていました。
一覧の中から利用頻度の高そうなものをピックアップして数値データを名前に変換するメゾットを作成して対応しようと思います。

[94] Re2:用紙サイズの定数値は Win32 APIヘルプで返信 削除
2005/1/20 (木) 23:20:16 Mr.XRAY
▼ KSCさん

> 会社の書庫にWindows95 APIバイブルが眠っている事を思い出して、朝、引っ張り出して調べたら載っていました。
> 一覧の中から利用頻度の高そうなものをピックアップして数値データを名前に変換するメゾットを作成して対応しようと思います。


Windows95 APIバイブル,これもっています.サンプルプログラム類の
PrintDlgAPIの使用方法も,この本を参考にして作成しました.

活用されてAPIバイブルもさぞ喜んでいることでしょう. (^_^);



[108] Re3:用紙サイズの定数値は Win32 APIヘルプで返信 削除
2005/2/2 (水) 17:57:14 KSC
▼ Mr.XRAYさん

こんばんは、今回の一連の件についてですが、plSetPrinterの「バージョンアップ後のエラー」
ページの意味を私が理解しておらず、コンポーネントの再配置を怠った事が原因の1つだったようです。

再配置後は、教えて頂いたソースで快適に動作しています。

私の不注意でマスターの手を煩わしてしまいました。

本当にごめんなさい。


[110] Re4:用紙サイズの定数値は Win32 APIヘルプで返信 削除
2005/2/2 (水) 23:24:54 Mr.XRAY
▼ KSCさん

> 私の不注意でマスターの手を煩わしてしまいました。

いや,そんなことはないと思いますよ.配置し直して動作がうまくいったと
しても,それは偶然ではないかと....
でも,動けば正義です!! ハイ!!


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