ある日、PageSetupDialog に存在していた プリンタの選択機能が取り除かれました。Windows Vista からです。糞OS Vista から取り除かれました。
ドキュメントでは
http://msdn.microsoft.com/ja-jp/library/cc410957.aspx
PrintDlg 関数は、[プリンタの設定]ダイアログボックスを表示することもできます。
しかし、新しいアプリケーションはこの目的で PrintDlg を使うべきではありません。
[プリンタの設定]ダイアログボックスは、PageSetupDlg 関数が作成する
[ページ設定]ダイアログボックスによって置き換えられています。
と、ありますが、こうせざるをえない状況を強いられているのです。
さて、CommonDialog では、Hook によりハンドラを設定してカスタマイズを行います。
しかし、PageSetupDialog 内のプリンタを変更する手段が用意されていません。もっと言うと、強いられた状況において、プリンタの設定ダイアログで変更された用紙サイズ等の情報を反映させるための手段が用意されていません。つまり、車輪の開発で自前でプリンタを変更する手段を実装しないといけなさそうなんです。
何故プリンタの設定ボタンが急に無くなったのでしょう?無くなったら、無くなったで代替手段を用意してくれても良さそうなもんですが、完全に隠蔽されていて対処のやりように困ってます。
残された手段は、コモンダイアログを使わない事。何のためのコモンダイアログなのか、ぼやきまくりっす。
0 件のコメント:
コメントを投稿