【问题标题】:How to sync Webbrowser caret position with TMemo如何将 Webbrowser 插入符号位置与 TMemo 同步
【发布时间】:2011-12-29 19:34:56
【问题描述】:

如何将 Webbrowser(在编辑模式下)行与包含原始 html 的 TMemo 同步?插入符号的位置不是必需的,但会是一个不错的功能。大量谷歌搜索未能显示如何完成此任务。

【问题讨论】:

  • 您到底想同步什么?请提供更多详细信息。
  • 我试图在从 TMemo 切换到 WebBrowser 时让 webbrowser 插入符与 TMemo 匹配,并在从 Webbrowser 切换到 TMemo 时让 TMemo 插入符与 webbrowser 匹配。网络浏览器处于编辑模式,而 TMemo 保存原始 HTML。因此,当我使用 webbrowser 编辑文档然后更改为 TMemo 时,我在文档中与 webbrowser 文档中的相对位置相同......反之亦然......当我从 TMemo 切换到我想要的 WebBrowser在 WebBrowser 文档中的位置与我在 TMemo 文档中的位置大致相同。
  • 如果您需要更多解释,请告诉我。
  • 类似这样的:case PageControl1.ActivePageIndex of 0: { TWebbrowser editor } WB.CaretPos := cxMemo1.CaretPos; 1: { TMemo } cxMemo1.CaretPos := WB.CaretPos;结束;
  • 不能按原样工作。除了TWebBrowser 没有CaretPos 属性之外,您还必须记住TMemo 显示的是原始HTML,而TWebBrowser 显示的是格式化文本,所以你必须采取所有在WebBrowser 坐标和TMemo 坐标之间进行转换时会考虑 HTML 标记。

标签: delphi


【解决方案1】:

听起来您想要一种方法来单击 HTML 页面上的某个位置并编辑您单击的任何位置的 HTML 源代码。

互联网搜索返回的可能性为Detect cursor position in TWebBrowser at edit modehttp://www.pcreview.co.uk/forums/re-finding-cursor-t1855943.html。这些不是 Delphi 特定的答案,但可能会让您开始了解如何与 DOM 交互以完成您正在寻找的事情。

【讨论】:

  • 感谢您的信息,但看起来这是一个“难以解决的问题”,所以我已经放弃了这个问题。
  • 我使用 Dreamweaver 进行一些 Web 编程。它具有您正在寻找的功能。他们在拆分窗口设计中具有代码的 HTML 预览。当您在预览窗口中移动光标时,它会转到相应的代码行。我不知道他们是否使用网络浏览器控件进行预览。 Adobe 可能已经编写了自己的浏览器控件来进行预览。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-20
  • 2020-08-17
  • 1970-01-01
  • 2010-10-06
相关资源
最近更新 更多