本年度最后一个问题:如何禁止TwebBrowser中的... ( 积分: 30 )

  • 主题发起人 主题发起人 dazzling
  • 开始时间 开始时间
D

dazzling

Unregistered / Unconfirmed
GUEST, unregistred user!
如果在TwebBrowser中按Ctrl+P键则会弹出打印机配置对话框,
如何禁止它的出现?即按Ctrl+P时不会有此框出现。
 
如果在TwebBrowser中按Ctrl+P键则会弹出打印机配置对话框,
如何禁止它的出现?即按Ctrl+P时不会有此框出现。
 
HOOK TwebBrowser的窗口,拦截相应消息试试
 
想过,不过这样还不如FindWindow来的更简单。
但绝对应该有更简单的方法,我相信有,盼高手解答。。。。。
 
form上放个Application Events,在其OnMessage事件中输入:

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if Msg.message = $0100 then Handled := True;
end;

再按Ctrl+P看会不会出现对话框
 
治标不治本呐!!!
关键是我的Ctrl+P还有别的用途,不将把这个按键信息给禁了,关键是不要打印机窗口出来
webbrowser中一定有得设置的
 
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
if Msg.message = $0100 then
begin
Handled := True;
//在这里调用你想要的功能,不就得了
end;
end;
 
如果不用消息,而用钩子该怎实现?
 
ApplicationEvents本身就是钩子实现的。封装了下而已
 
若TwebBrowser聚焦时,不屏蔽 Ctrl+P 窗体上的快捷也不起作用
这里只是屏蔽了TwebBrowser

补充一下, 多加个判断!

if Msg.message = $0100 then
begin
if IsChild(wb1.Handle, Msg.hwnd) then
Handled := True else
Handled := False;
end;
 
后退
顶部