delphi TWebbrowser 响应回车键(EWB响应正常,无需额外代码)  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi TWebbrowser 响应回车键(EWB响应正常,无需额外代码)


增加一个ApplicationEvents,在Message事件中如下代码(WB看自己的WEBBROWSER 控件命名)

procedure TFrmMain.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);      //专为IE内核 WEBBROWSER 响应回车键


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(WB.Handle,   hWnd)   then
       {   handles   all   browser   related   messages   }
        begin
          with  WB.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;

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.048228979110718 seconds