▼ takiさん
> 色々試した結果、PrinterIndex := -1;とすると、デフォルトの
> プリンターが選ばれるだけでなく、デフォルトの状態も設定されるようです。
今後使用する状況があるかどうか分かりせんが,以下のようになっています.
これは,実は,問題になることがあるんです.
今回のこととは直接関係ありませんが,プリンタ関係を扱う場合の参考として.
//現在のプリンタを指定したプリンタにする
//-1 を代入した場合は,-1 になるのではなく,デフォルトのプリンタの番号
//が代入される
Printer.PrinterIndex := プリンタ番号(整数値);
//ここで取得するADeviceModeには,変更前のプリンタの情報が格納されている
//その他の値は現在(変更後)のプリンタの情報となっている
Printer.GetPrinter(ADevice, ADriver, APort, ADeviceMode);
//ADeviceMode初期化
Printer.SetPrinter(ADevice, ADriver, APort, 0);
//ADeviceModeが新しいプリンタドライバの値(デフォルトのプロパティ値)となる
Printer.GetPrinter(ADevice, ADriver, APort, ADeviceMode);
プリンタを変更して,DEVMODE 構造体で設定する場合は,上のコードの後に書きます.
上の 3 行を実行しないと,正常に設定されないことがあります.
(昔は,この手の質問がいっぱいあったんですよね --- 遠い目)
> 出入り禁止にはしないでください。m(__)m
え ? 何か悪いことしました ??
|