Delphi WebBrowser 响应回车Enter键(兼容Silverlight)

在Form放置一个ApplicationEvents控件,
在OnMessage事件中写下面的代码:

uses   ActiveX


procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);

const
  StdKeys = [VK_TAB, VK_RETURN, VK_DELETE, VK_BACK]; { standard   keys }
  ExtKeys = [VK_LEFT, VK_RIGHT]; { extended   keys }
  fExtended = $01000000; { extended   key   flag }

begin

Handled   :=   False;
    with   Msg   do
        if   ((Message   > =   WM_KEYFIRST)   and   (Message   <=   WM_KEYLAST))   and
            ((wParam   in   StdKeys)   or   {$IFDEF   VER120}(GetKeyState(VK_CONTROL)   <   0)   or   {$ENDIF}
            (wParam   in   ExtKeys)   and   ((lParam   and   fExtended)   =   fExtended))   then
        try
            if   IsChild(WebBrowser1.Handle,   hWnd)   then
            {   handles   all   browser   related   messages   }
            begin
                with  WebBrowser1.Application   as   IOleInPlaceActiveObject   do
                    Handled   :=   TranslateAccelerator(Msg)   =   S_OK;
                if   not   Handled   then
                begin
                    Handled   :=   True;
                    TranslateMessage(Msg);
                    DispatchMessage(Msg);
                end;
            end;
        except  

        end;

end;

 

转载于:https://www.cnblogs.com/JackSun/archive/2010/11/09/1872412.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值