Главная страница
    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.06 c
15-1266678959
GDI+
2010-02-20 18:15
2010.08.27
Интересно, когда андроиду можно будет просто сказать.


4-1234979528
Skyhawk
2009-02-18 20:52
2010.08.27
Изменение цвета строки в TListView


2-1267779863
Цукор5
2010-03-05 12:04
2010.08.27
ambiguous overloaded call GetFactoryNumber


15-1264341586
Kolan
2010-01-24 16:59
2010.08.27
Исходники DMClient а доступны для всех желающих


2-1269838242
tippa
2010-03-29 08:50
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский