起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 693|回复: 7

webbrowser在打开的页面中不支持ctrl+c,ctrl+v等快捷键,Del都不支持,能不能提供解决方

[复制链接]
发表于 2011-12-26 10:35:35 | 显示全部楼层 |阅读模式
webbrowser在打开的页面中不支持ctrl+c,ctrl+v等快捷键,Del都不支持,能不能提供解决方法啊。论坛中提供的方法都不可行,参考Delphi的方法对于X3来说不适用。着急解决这个问题,能不能提供解决方法啊
回复

使用道具 举报

 楼主| 发表于 2011-12-26 17:15:06 | 显示全部楼层
怎么没人啊,顶
回复 支持 反对

使用道具 举报

发表于 2012-1-5 16:52:39 | 显示全部楼层
这个应该跟Delphi的处理方式一样,找到一个方法可以试一下:

6、使WebBrowser获得焦点

  TWebBrowser非常特殊,它从TWinControl继承来的SetFocus方法并不能使得它所包含的文档获得焦点,从而不能立即使用Internet Explorer本身具有得快捷键,解决方法如下:<

  procedure TForm1.SetFocusToDoc;
  begin
   if WebBrowser1.Document <> nil then
    with WebBrowser1.Application as IOleobject do
     DoVerb(OLEIVERB_UIACTIVATE, nil, WebBrowser1, 0, Handle, GetClientRect);
  end;

  除此之外,我还找到一种更简单的方法,这里一并列出:

  if WebBrowser1.Document <> nil then
   IHTMLWindow2(IHTMLDocument2(WebBrowser1.Document).ParentWindow).focus

  刚找到了更简单的方法,也许是最简单的:

  if WebBrowser1.Document <> nil then
   IHTMLWindow4(WebBrowser1.Document).focus

  还有,需要判断文档是否获得焦点这样来做:

  if IHTMLWindow4(WebBrowser1.Document).hasfocus then

http://www.delphifans.com/infoview/Article_865.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-1-5 16:54:50 | 显示全部楼层
这个方法试过了,webbrowser根本就获取不到焦点
回复 支持 反对

使用道具 举报

发表于 2012-1-5 16:55:53 | 显示全部楼层
无解,OCX跟浏览器配合的问题。可以用最新版本试试。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-1-5 16:59:34 | 显示全部楼层
使得webbrowser获得焦点的这几句代码应该放在什么地方,是不是和用的地方不同效果也不一样呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-1-5 17:02:19 | 显示全部楼层
还有使用新版本就可以解决这个问题吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-1-5 17:33:09 | 显示全部楼层
如果真不能实现,请给个明确的答复,因为我们需要向用户解释,麻烦了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-11 10:53 , Processed in 0.040424 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表