Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Запретить печать из TWebBrowser   Найти похожие ветки 

 
Виктор   (2010-04-01 02:10) [0]

Здравствуйте! Хочу запретить печать из TWebBrowser по Ctrl-N. Перехватывать комбинацию Ctrl-N для решения этой задачи не хочется, как правильно быть?


 
Виктор   (2010-04-01 02:11) [1]

Простите опечатался, конечно имелась ввиду печать по Ctrl-P


 
Виктор   (2010-04-01 08:55) [2]

Как полумеру можно вписывать в отображаемую страницу код:

<style type="text/css" media="print">
 BODY {display:none;visibility:hidden;}
</style>


Но это изврат)


 
sniknik ©   (2010-04-01 09:28) [3]

это печать
WebBrowser.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER);

также можно сделать многое другое (когда смотрел это видел кучу других параметров) возможно и запрет печати тоже. поищи.


 
Виктор   (2010-04-01 09:59) [4]

Я реализовал IWebBrowser2 для компонента, что бы перехватить и обработать вызов ExecWB и QueryStatusWB. Но когда в браузере нажимаешь Ctrl-P ни один из методов не вызывается. Да и понимания COM у меня недостаточно что бы копнуть глубже..


 
sniknik ©   (2010-04-01 10:05) [5]

не нужно ничего перехватывать, нужно настроить, команда та же, нужно просто вызвать этот же самый метод с параметрами "запрета печати по Ctrl-P" если такие есть (вот это и ищи, в msdn есть развернутый список, я не смотрел конкретно т.к. было не нужно), или более общее, запретить всю печать из объекта(это точно должно быть) и при нужде выполнять печать самому вышеприведенной командой.


 
Виктор   (2010-04-01 10:10) [6]

Спасибо! Буду шерстить MSDN)


 
Loginov Dmitry ©   (2010-04-01 20:11) [7]

Я когда-то тоже искал ответ на такой же вопрос.
Оказалось, что перехватить нажатие Ctrl+P можно до печати, но как отменить печать я найти не смог. Хотя и перекопал весь MSDN.
Решил не заморачиваться: после перехвата Ctrl+P вывожу пользователю сообщение какой он плохой и грохаю программу с помощью TerminateProcess().

Если найдешь что-нибудь, то отпишись, pls!


 
Игорь Шевченко ©   (2010-04-01 20:19) [8]

Тенцер на сайте у А.П.


 
Anatoly Podgoretsky ©   (2010-04-01 20:24) [9]

> Игорь Шевченко  (01.04.2010 20:19:08)  [8]

Самый полный Тенцер :-)


 
MonoLife ©   (2010-04-02 08:07) [10]

вариант:
TApplicationEvents на форму

В TApplicationEvents.onMessage пишем:

if (GetKeyState(VK_CONTROL) < 0) and (Msg.Message = WM_KEYDOWN) and (Msg.wParam = 80) then
 ShowMessage("Нельзя печатать!");

:)


 
MonoLife ©   (2010-04-02 08:17) [11]

блин, ему ж перехват не хочется(


 
Виктор   (2010-04-08 18:27) [12]

Да.. плюнул я на затею сделать как положено, оставил костыль в виде блокировки хоткея в TApplicationEvents.OnMessage



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.052 c
2-1269889255
HRustBB
2010-03-29 23:00
2010.08.27
Нужен компонент для отображения схеммы данных


15-1273955393
Юрий
2010-05-16 00:29
2010.08.27
С днем рождения ! 16 мая 2010 воскресенье


9-1186514939
max_
2007-08-07 23:28
2010.08.27
поиск столкновений


15-1266298998
DimonS
2010-02-16 08:43
2010.08.27
Работа с векторными картами


6-1224492954
Mephala
2008-10-20 12:55
2010.08.27
Сформировать soap-сообщение с base64binary