【前言】
小弟发现 TWebBrowser (包括 BCB 的 CppWebBrowser) 的几个bug,不知道以前是否有人提过。
【bug如下】1.用Delphi或BCB添加一个WebBrowser,接着navigate到http://www.gogole.com,然后,输入几个关键字,敲回车,结果什么反映也没有,必须用鼠标点“搜索”才能进行搜索!
2.用Delphi或BCB添加一个WebBrowser,再添加一个MainMenu,设置一个主菜单,把
Caption命名为:文件(&F),再次navigate到http://www.gogole.com,然后,输入字符“F" ,结果发现无法输入字符“F",却发现主菜单“文件(F)”在闪烁!
【后记】各位大侠不知道有无方法解决这两个bug?
小弟发现 TWebBrowser (包括 BCB 的 CppWebBrowser) 的几个bug,不知道以前是否有人提过。
【bug如下】1.用Delphi或BCB添加一个WebBrowser,接着navigate到http://www.gogole.com,然后,输入几个关键字,敲回车,结果什么反映也没有,必须用鼠标点“搜索”才能进行搜索!
2.用Delphi或BCB添加一个WebBrowser,再添加一个MainMenu,设置一个主菜单,把
Caption命名为:文件(&F),再次navigate到http://www.gogole.com,然后,输入字符“F" ,结果发现无法输入字符“F",却发现主菜单“文件(F)”在闪烁!
【后记】各位大侠不知道有无方法解决这两个bug?
解决方案 »
- 如何用最简单最快的方法判断一个BMP图片是否为黑白图片?我现在是全图片scanline 然后再加以分析,太慢了,有没有直接的函数可以做到呢?
- 请大师解决DBGridEh底部汇总时出现错误的问题,多谢!
- 解决多层应用开发棘手问题-多用户并发存盘
- 急,求救!
- ★Windows XP下的程序为什么会有白斑?
- 请问怎样能够从自己的程序里将文字内容生成chm格式的文件,如电子书库那样
- 求socket完成例程的简单例子,支持多连接,带 WSASend 的使用,谢谢!!!
- 求关注,WIN7下运行OpenDialog每次打开都是初始目录失效,XP下正常
- 有谁能告诉我[异质查询]是怎样的??
- 简单的函数问题。
- 怎么制造更诱人生动的Hint?
- 如何隐藏界面
请问各位有没解决办法,请指教呀~
uses ActiveX;//引用!!
----------------------------------------------------------------
TfrmChildWeb = class(TForm)
WebBrowser: TWebBrowser;//TwebBrowser!!!
procedure FormCreate(Sender: TObject);//必用的一个事件…
private
FOleInPlaceActiveObject: IOleInPlaceActiveObject;
procedure MsgHandler(var Msg: TMsg; var Handled: Boolean);//自定义的一个处理……
public
end;
----------------------------------------------------------------
过程:
procedure TfrmChildWeb.MsgHandler(var Msg: TMsg; var Handled: Boolean);
var
iOIPAO: IOleInPlaceActiveObject;
Dispatch: IDispatch;
begin
if WebBrowser = nil then begin
Handled := False;
Exit;
end;
Handled := (IsDialogMessage(WebBrowser.Handle, Msg) = True); if (Handled) and (not WebBrowser.Busy) then
begin
if FOleInPlaceActiveObject = nil then
begin
Dispatch := WebBrowser.Application;
if Dispatch <> nil then
begin
Dispatch.QueryInterface(IOleInPlaceActiveObject, iOIPAO);
if iOIPAO <> nil then
FOleInPlaceActiveObject := iOIPAO;
end;
end; if FOleInPlaceActiveObject <> nil then
if ((Msg.message = WM_KEYDOWN) or (Msg.message = WM_KEYUP)) and
((Msg.wParam = VK_BACK) or (Msg.wParam = VK_LEFT) or (Msg.wParam = VK_RIGHT)) then
else
FOleInPlaceActiveObject.TranslateAccelerator(Msg);
end;
end;
procedure TfrmChildWeb.FormCreate(Sender: TObject);
begin
Application.OnMessage := MsgHandler;
end;
回车的方法我已经解决了 ,你的解决方法会屏蔽掉 Ctrl+F !
(也就是把 TWebBrowser 放在主窗体上)