Windows 7 上的 IHTMLDocument2 和 Internet Explorer 11 更改

2024-04-20

I use TWebBrowser在我的应用程序中拥有 HTML 编辑器,当然这取决于安装的 Internet Explorer 版本。我注意到在 Windows 7 上安装全新的 Internet Explorer 11 后,我的编辑器发生了变化。段落似乎不再具有相同的 HTML 代码。

当我按下回车键之前生成的 HTML:

<P>&nbsp;</P>

现在生成的 HTML:

<P><BR></P>

这给了我编辑器中看起来不正确的额外行。<P>本身有一条新线,<BR>在这里完全没用。

有没有办法告诉编辑模式下的 MSHTML/TWebBrowser 控件在按下 Enter 键时使用哪个标记?例如,我看到一些 MS 程序生成:

<div><font></font></div>

当您按 Enter 键进入新行时。

另外(如果相关的话)-当我使用命令设置例如 font-size 时,有没有办法控制使用哪个标记(而不是过时的 size=1 到 size=7 来拥有像“font-size”这样的 CSS :10 像素”)

欢迎使用 Delphi 和 C++ Builder 中的代码示例。


Using bcbhtml: 首先将 html.cpp 添加到您的项目中并包含“html.h”:

#include "html.h"

在全局范围内定义文档变量:

THTMLDocument document;

__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    WebBrowser1->Navigate("about:<div contenteditable=true>Type here</div>"); // example editable region
}

void __fastcall TForm1::WebBrowser1DocumentComplete(TObject *ASender, const IDispatch *pDisp,
          const OleVariant &URL)
{
    document.documentFromVariant(WebBrowser1->Document);
    document.onkeydown = &onkeydown;
}

void TForm1::onkeydown()
{
    EventObj event = document.parentWindow.event;
    if(event.keyCode == VK_RETURN)
    {
        document.selection.createRange().pasteHTML("<P>&nbsp;</P>"); // You can put every html you like per every key code
        event.returnValue = false; // blocks default html which will be generated
    }
}

您可以从以下位置下载这个很棒的包装器 (bcbhtml)here http://mspay.boxhost.me/html.rar.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 7 上的 IHTMLDocument2 和 Internet Explorer 11 更改 的相关文章

  • 如何仅在某些列中设置带有复选框的 TListView?

    我正在使用 Delphi 2010 并且我试图允许用户在 TListView 中的每行 2 个选项之间进行选择 使用 TListView 我可以将样式设置为 vsReport 并启用复选框 但这只会让我每行有 1 个复选框 我需要的是每行
  • delphi分组框标题颜色变化

    我正在使用 BDS 2006 想知道您是否可以使用项目中存在的 XPmanifest 更改组框和单选按钮组标题的颜色 因为它始终是蓝色 唯一的方法是重写 Paint 方法TGroupBox http docwiki embarcadero
  • 如何使用 jQuery 和“长轮询”通过 Indy HTTP 服务器动态更新 HTML 页面?

    我读过这篇文章使用 JavaScript 和 jQuery 的简单长轮询示例 http techoctave com c7 posts 60 simple long polling example with javascript and j
  • ASP.NET 网站中的 webbrowser 类

    我有一个要求 需要访问一个网页并对其进行截图 为此 我必须创建一个 ASP NET 以便用户可以输入网站 URL 我试图创建一个 Web 浏览器控件 但后来意识到我无法在 ASP NET 网站中创建 Web 浏览器控件 我正在尝试做这样的事
  • Winform 没有.NET 框架?

    我必须创建一些表单并将其作为直接 EXE 提供 而不是安装程序 它安装 NET 框架 最终用户对此不满意 他们想要可以直接打开和工作的东西 我知道它可以作为网络完成 但我正在寻找 winforms 吗 请建议哪种工具 技术可以处理这个问题
  • 允许 WPF Web 浏览器中的弹出窗口

    有没有办法允许在嵌入式 WPF WebBrowser 控件中弹出窗口 我没有找到别人的解决方案 也没有找到允许弹出窗口的COM接口 我不想更改用户注册表设置或使用类似的侵入方法 因为应用程序旨在通过 ClickOnce 分发 您可以通过处理
  • 为应用程序启用主题

    我有一个旧的应用程序 在Win XP中的delphi 7中启动 现在我正在使用delphi 2009 win Vista 如果我开始一个新项目 所有按钮都有一个圆形边缘 但在我的旧应用程序中 所有按钮都有 方形 形状的外观 有什么设置我错过
  • 获取字符、整数和日期字段的字段 oldValue 和 newValue

    我试图只保留表更改的历史记录 所以我想获取一个字段在更改为oldValue之前的值 然后获取它更改为newValue的值 两个值都应转换为字符串 因此 这是该表的一个示例 PartNumber Description 12345 Test
  • Delphi XE 中的数据绑定向导 - 可以将其配置为映射到 MSXML 接口吗?

    Delphi XE 中的数据绑定向导生成继承自 Delphi 自己的 DOM ADOM XML v4 实现的类和接口 它似乎不支持针对模式进行验证 解析时验证 选项仅适用于 MSXML 供应商type 从 VCL 源代码以及 IDE 中 X
  • 如何将 TGifImage 中的帧提取为位图?

    下面的演示尝试在表单的画布上绘制 GIF 这不起作用 图像不会前进 如何让它发挥作用 procedure TForm1 FormCreate Sender TObject begin GIF TGIFImage Create GIF Loa
  • Delphi XE2 Firemonkey 示例应用程序未在 MAC 上运行

    我正在尝试在 Mac 上运行示例 Firemonkey 应用程序 但我在 Mac 中收到以下消息 dyld Library not loaded rpath libcgunwind 1 0 dylib Referenced from Use
  • 如何将 JSON 字符串转换为图像?

    我有一个将图像转换为 JSON 数组的应用程序 并将其保存到 blob 字段中 function getImage String var memorystream TMemoryStream jsonArray TJSONArray beg
  • 如何读取注册表项的默认值

    我有一个 Delphi XE2 项目来使用注册表项进行某些操作 所以我定义了以下代码 procedure TMainForm BitBtn01Click Sender TObject var RegistryEntry TRegistry
  • 从delphi应用程序调用.net4.0 com服务器后出现错误异常

    我们正在将代码库从 BDS2006 迁移到 Rad Studio XE 我们发现了一些非常奇怪的行为 如果我们在从 Net4 0 中实现的 COM 服务器创建一些对象后进行无效的浮点运算 即除以零 我们不会没有得到正常异常 即 EDivis
  • 在 MSHTML IE8 中修改 DOM 时是否会触发一个事件?

    尝试检测 MSHTML 中的 DOM 中是否添加或删除了新元素 有这样的事件会火吗 http msdn microsoft com en us library aa741877 v VS 85 aspx http msdn microsof
  • 在 Delphi 2009 上安装最新版本的 Indy 10 [重复]

    这个问题在这里已经有答案了 是否有更新 Delphi 2009 中的 Indy 10 组件的分步指南 我读过正在卸载线程 https stackoverflow com questions 486210 what is the proper
  • 使用 TStringList 的分隔符解析字符串,似乎也解析空格(Delphi)

    我有一个简单的字符串 由某个字符分隔 比如说逗号 我应该能够创建一个 TStringList 并将其分隔符设置为逗号 然后将 DelimitedText 设置为我想要解析的文本 并且应该自动解析它 问题是 当我查看输出时 它还包含空格作为分
  • FreePascal x64 上系统单元函数的汇编调用

    我有一些 Delphi 汇编代码 可以在 Win32 Win64 和 OSX 32 上编译并正常工作 XE2 但是 由于我需要它在 Linux 上工作 所以我一直在考虑编译它的 FPC 版本 到目前为止 Win32 64 Linux32 6
  • 查找Delphi项目中的所有编译错误

    我正在对我的 Delphi 项目进行一些重构 我希望能够做出改变 然后看看all项目中因该更改而中断的地方 类似于 Eclipse 列出项目的所有编译错误 在 Java 中 在 Delphi 中 我可以进行更改 然后重新编译我的项目 但编译
  • 在Delphi 7中,为什么我可以给const赋值?

    我将一些 Delphi 代码从一个项目复制到另一个项目 发现它在新项目中无法编译 但在旧项目中可以编译 代码看起来像这样 procedure TForm1 CalculateGP const Price money 0 begin Pric

随机推荐