印刷のダイアログウインドウの、[すべて]オプション ボタンの状態取得するには


かんとく  2008-05-23 13:35:27  No: 100737  IP: 192.*.*.*

すでに解決した質問に書いていたので、新しいトピックスで再度質問します。

VB6 WindowsXPです。

印刷のダイアログウインドウの、ページ範囲のところの、
”すべて”がユーザによって選択されてるかどうかということを判別する方法が分かりません。
VBのヘルプを見ると、Flags プロパティが &H0 で、 [すべて]オプション ボタンの状態を設定または取得します。 
とありますが、取得の方法が分かりません。

また、ページ指定欄に、デフォルトで”1”が入っていますが、デフォルトで空白にすることはできますか?

よろしくお願いします。

編集 削除
かんとく  2008-05-26 12:17:10  No: 100738  IP: 192.*.*.*

”すべて”オプションについては、自己解決しました。

ダイアログを開く前に、
CommonDialog1.Flags = &H100000 Or &H4&
というように、Flagsの値を設定していたので、
ダイアログを閉じたあと(印刷ボタンを押したあと)のFlagsプロパティの変化に気づきませんでした。

ダイアログと閉じたあと、Flagsプロパティから&H100000 と &H4&  を減算すると、
”すべて”を選択していたら 0
”ページ指定”を選択していたら 2
が帰ってきているのがわかりました。

すみませんでした。


ただ、もう一つわからないことがあります。

プリンタの選択で、プリンタを選択してから印刷を行うと、一回目の変更では正しく選択されたプリンタから印刷できますが、二度目の変更をしたとき、変更が反映されません。

このとき、コントロールパネルの  プリンタとFAX  の設定を見ると、二度目に選択したプリンタに通常使うプリンタとしてチェックが入っているのに、
VBで Printer.DeviceNameを参照すると、値が一度目に選択したプリンタのままです。

一度印刷すると、もうプリンタを変更することができないのでしょうか?

よろしくお願いします。

編集 削除