WebBrowser控件响应键盘回车事件

     阅读 983 次    更新时间:2014/4/20    
WebBrowser控件响应键盘回车事件
 

用delphi做网页浏览器的时候,会发现无法响应回车事件,下面就是解决的方法~


procedure TForm1.IEMessageHandler(var Msg: TMsg; var Handled: Boolean);
const
StdKeys = [VK_TAB, VK_RETURN]; { 标准键 }
ExtKeys = [VK_DELETE, VK_BACK, VK_LEFT, VK_RIGHT]; { 扩展键 }
fExtended = $01000000; { 扩展键标志 }
begin
Handled := False;
with Msg do
    if ((Message >= WM_KEYFIRST) and (Message <= WM_KEYLAST)) and
      ((wParam in StdKeys) or (GetKeyState(VK_CONTROL) < 0) or
      (wParam in ExtKeys) and ((lParam and fExtended) = fExtended)) then
    try
             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;

//解决网页中的输入框不能识别回车键的问题,把程序的消息处理转到自写的程序段
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := IEMessageHandler;
end;

 
 

Copyright 2003-2008 All Rights Reserved 自由风工作室 版权没有 [湘ICP备06002185号]
.