Значение PD_COLLATE функции PrintDlg .. проблема.
От: SAI  
Дата: 24.04.04 13:22
Оценка:
Уважаемые, следующая проблема:

Функция PrintDlg не возвращает корректное значение бита PD_COLLATE поля Flags структуры PRINTDLG. Каким бы ни был установлен режим "разобрать по копиям" в диалоге, бит PD_COLLATE поля Flags возвращается нулевым. Как получить корректное значение этого режима после его установки пользователем?

msdn поясняет, что если PD_USEDEVMODECOPIESANDCOLLATE того же поля Flags установлен, то PD_COLLATE (и nCopies) не будут устанавливаться в структуре PRINTDLG, а сразу в hDevMode установятся dmCopies и dmCollate, если устройство их поддерживает. Но в том-то и дело, что в моем случае PD_USEDEVMODECOPIESANDCOLLATE не установлен.

Последовательность действий такая:



Возможно мне неизвесны некие особенности настройки/вызова PrintDlg, Сеть на эту тему как-то невыразительна .

Буду рад вашему совету или рекомендации где его найти.

//Работаю в Delphi5 под W2000, свою задачу решаю через API.
Re: Значение PD_COLLATE функции PrintDlg .. проблема.
От: adontz Грузия http://adontz.wordpress.com/
Дата: 25.04.04 03:15
Оценка:
Здравствуйте, SAI, Вы писали:

MSDN гласит

PD_COLLATE
If this flag is set, the Collate check box is selected.
If this flag is set when the PrintDlg function returns, the application must simulate collation of multiple copies. For more information, see the description of the PD_USEDEVMODECOPIESANDCOLLATE flag.


Не отображает настройки, он отображает выполнит ли настройку сам драйвер принтера или вам надо эмулировать данно поведение. Если вам возвращается 0, то значит драйвер сам будет делать collate.

Или проблема в другом?
A journey of a thousand miles must begin with a single step © Lau Tsu
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.