Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Запретить печать из 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.079 c
15-1275844691
Dima84
2010-06-06 21:18
2010.08.27
Ошибка form of method call


15-1273091405
Юрий
2010-05-06 00:30
2010.08.27
С днем рождения ! 6 мая 2010 четверг


4-1233843462
R13
2009-02-05 17:17
2010.08.27
Обрезка канваса при методе PrintWindow


15-1272262499
мимопроходил
2010-04-26 10:14
2010.08.27
Emacs


2-1270459108
MonoLife
2010-04-05 13:18
2010.08.27
Запрос Local SQL.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский