Re[5]: Печать HTML документов
От: Devis  
Дата: 27.11.02 09:34
Оценка:
Здравствуйте, Ростислав Глухов, Вы писали:

РГ>Да!

РГ>Можно попробовать создать CAxWindow,
РГ>положить на него WebBrowser
РГ>а потом после использования прибить все это.

Такой метод работает, только существует проблема с синхронизацией.
IWebBrowser2::ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER, NULL, NULL); —
работает асинхронно (запускает тред в браузере). И если окно прибить раньше
времени, то документ не распечатается целиком. Насколько я знаю сто процентного
решения этой проблемы не существует. Сабыие OnAfterPrint не всегда генерится
(кроме того оно поддерживается только начиная с версии 5), можно пытаться смотреть спул принтера на предмет состояния печати документа, либо считать количество тредов в браузере.
И есть еще проблема — если окно контейнера в состоянии Invisible, а документ
имеет гиперссылки, то он может вообще не распечататся просто тред будет висеть
и ничего не делать...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.