AloowPrinter の設定

タグの編集
投稿者 N88-BASIC  (社会人) 投稿日時 2017/9/4 18:38:02
Windows 10 Home(64) Creatos Editon & Visual Studio 2017 を利用しております。

写真の印刷処理を行いたいと思っており、用紙サイズの設定などで PrinterSetupDialog を利用しておりますが、AllowPrinter プロパティを明示的に True にしておりますが、Printer ボタンが表示されません。
表示される方法をご存知でしたらご教授ください。

尚、Web 上の Microsoft さんの情報では、Windows vista では表示されないようですが、追加で、表示されない旨の説明もあり困惑しております。文書の引用の可否が不明なため曖昧な表現をご容赦ください。
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2017/9/4 20:10:13
> PrinterSetupDialog を利用しておりますが、

PrinterSetupDialog  だと、VB ではなく、Delphi になってしまうような…。

もしかして PrintDialog のことでしょうか?
それとも PageSetupDialog のことでしょうか?


PrintDialog のことだとすれば、初期状態でプリンター選択画面も
[印刷]ボタンも表示されるはずです。
ただ、こちらには AllowPrinter プロパティも AloowPrinter プロパティもありません。

PageSetupDialog のことだとすれば、AllowPrinter プロパティがありますが、
これは既定値が True なので、明示的に True を代入する必要はありません。
また、これは XP/2000 向けに用意されていた機能であり、
Vista/7/8/8.1/10 では False でも True でも無視されます。


なお AllowPrinter プロパティは、PageSetupDlg API を呼び出す際の
PSD_DISABLEPRINTER フラグに相当する機能です。

https://msdn.microsoft.com/en-us/library/windows/desktop/ms646937.aspx
》  Remarks
》  Starting with Windows Vista, the PageSetupDlg does not contain the Printer button.
》  To switch printer selection, use PrintDlg or PrintDlgEx.
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2017/9/4 20:17:41
追記:

> PrintDialog のことだとすれば、初期状態でプリンター選択画面も
> [印刷]ボタンも表示されるはずです。

PrintDialog であっても、UseEXDialog プロパティの設定を変更すると、
[印刷]ボタンが表示されない場合があります。(OS にもよりますが)
投稿者 (削除されました)  () 投稿日時 2017/9/6 08:45:08
(削除されました)
投稿者 N88-BASIC  (社会人) 投稿日時 2017/9/6 16:22:54
魔界の仮面弁士 さま、ご回答ありがとうございました。

ご指摘の通り、Allowprinter と PageSetupDialog の間違いでした。

ご回答の中の 「Vista/7/8/8.1/10 では False でも True でも無視されます」とのことですので、
無視されているようです。

一度、PrintDialog でうまく情報を取得できなかったので PageSetupDialog で行った結果です。
もう一度 PrintDialog で試してみます。

今後ともよろしくお願いいたします。