Главная страница
    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.47 MB
Время: 0.059 c
15-1271449805
Юрий
2010-04-17 00:30
2010.08.27
С днем рождения ! 17 апреля 2010 суббота


2-1270634702
Sairex
2010-04-07 14:05
2010.08.27
Как программно скопировать строку Excel


2-1265701817
Starraider
2010-02-09 10:50
2010.08.27
Abstract Error


15-1267738204
Юрий
2010-03-05 00:30
2010.08.27
С днем рождения ! 5 марта 2010 пятница


2-1273183195
Light-blr
2010-05-07 01:59
2010.08.27
Переход стрелочками между окошками





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский