【发布时间】:2018-02-27 09:20:39
【问题描述】:
我正在使用 dcef3 包中的离屏渲染组件 TChromiumOSR - Chromium-embedded 库的 Delphi 包装器。
情况
FormA 包含 TChromiumOSR 并绘制输出。
模态FormB 通过对FormA.TChromiumOSR 执行一些js 代码来修改网页。
问题
TChromiumOSR.OnPaint 事件(在FormA 中)在FormB.ShowModal 返回之前不会触发。
注意事项
- 使用标准
TChromium控件在上述情况下(在模态形式下)没有这样的问题。
我假设 `TForm.ShowModal' 方法只阻止背景表单的输入,而不是绘画?
还是cef3内部工作造成的?
无论如何,如何解决呢?谢谢。
【问题讨论】:
-
无法重现。我已经尝试使用最新的 DCEF3 (Delphi 2009) 修改 offline HTML 文档,方法是使用
Browser.MainFrame.ExecuteJavaScript并且即使从模态表单调用该事件也已触发绘制事件。你能更具体地说明你在做什么吗?无论如何,要使视图无效,您可以在修改文档后调用Browser.Host.Invalidate(PET_VIEW);。但是,我认为如果没有这个明确的调用,这应该可以工作。最好尝试制作一个 MVCE。
标签: delphi chromium-embedded delphi-xe4