![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запретить печать из TWebBrowser
Виктор © (2010-04-01 02:10:00)Здравствуйте! Хочу запретить печать из TWebBrowser по Ctrl-N. Перехватывать комбинацию Ctrl-N для решения этой задачи не хочется, как правильно быть?
Виктор (2010-04-08 18:27:00) [1]Да.. плюнул я на затею сделать как положено, оставил костыль в виде блокировки хоткея в TApplicationEvents.OnMessage
MonoLife (2010-04-02 08:17:00) [2]блин, ему ж перехват не хочется(
MonoLife (2010-04-02 08:07:00) [3]вариант:
TApplicationEvents на форму
В TApplicationEvents.onMessage пишем:
if (GetKeyState(VK_CONTROL) < 0) and (Msg.Message = WM_KEYDOWN) and (Msg.wParam = 80) then
ShowMessage('Нельзя печатать!');
:)
Anatoly Podgoretsky (2010-04-01 20:24:00) [4]> Игорь Шевченко (01.04.2010 20:19:08) [8]
Самый полный Тенцер :-)
Игорь Шевченко (2010-04-01 20:19:00) [5]Тенцер на сайте у А.П.
Loginov Dmitry (2010-04-01 20:11:00) [6]Я когда-то тоже искал ответ на такой же вопрос.
Оказалось, что перехватить нажатие Ctrl+P можно до печати, но как отменить печать я найти не смог. Хотя и перекопал весь MSDN.
Решил не заморачиваться: после перехвата Ctrl+P вывожу пользователю сообщение какой он плохой и грохаю программу с помощью TerminateProcess().
Если найдешь что-нибудь, то отпишись, pls!
Виктор (2010-04-01 10:10:00) [7]Спасибо! Буду шерстить MSDN)
sniknik (2010-04-01 10:05:00) [8]не нужно ничего перехватывать, нужно настроить, команда та же, нужно просто вызвать этот же самый метод с параметрами "запрета печати по Ctrl-P" если такие есть (вот это и ищи, в msdn есть развернутый список, я не смотрел конкретно т.к. было не нужно), или более общее, запретить всю печать из объекта(это точно должно быть) и при нужде выполнять печать самому вышеприведенной командой.
Виктор (2010-04-01 09:59:00) [9]Я реализовал IWebBrowser2 для компонента, что бы перехватить и обработать вызов ExecWB и QueryStatusWB. Но когда в браузере нажимаешь Ctrl-P ни один из методов не вызывается. Да и понимания COM у меня недостаточно что бы копнуть глубже..
sniknik (2010-04-01 09:28:00) [10]это печать
WebBrowser.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER);
также можно сделать многое другое (когда смотрел это видел кучу других параметров) возможно и запрет печати тоже. поищи.
Виктор (2010-04-01 08:55:00) [11]Как полумеру можно вписывать в отображаемую страницу код:
<style type="text/css" media="print">
BODY {display:none;visibility:hidden;}
</style>
Но это изврат)
Виктор (2010-04-01 02:11:00) [12]Простите опечатался, конечно имелась ввиду печать по Ctrl-P