0

如果将 TWebBrowser 置于 DesignMode (HTMLDocument2.designMode := 'On';) 中,是否有办法在用户键入控件时检测文档的更改,类似于像 TEdit/TMemo 这样的 std ctrls 的 OnChange 事件?

谢谢

4

1 回答 1

2

一旦您实现 IHTMLEditDesigner 界面并将其连接到 WebBrowser(您应该能够在 Web 上找到有关如何执行此操作的资源),这很容易实现。

那么关键部分就是使用PreHandleEvent:

function TWebBrowserFrame.PreHandleEvent(inEvtDispId: Integer;
  const pIEventObj: IHTMLEventObj): HResult;
begin
  Result := S_FALSE;
  If inEvtDispId = DISPID_EVMETH_ONKEYDOWN Then
      ...
  if pIEventObj.keyCode = ... etc...
end;

这个页面有一些有用的信息:(DISPID 常量来自哪里......) http://www.codeproject.com/Articles/6546/Using-IHTMLEditDesigner

于 2012-05-13T21:01:27.387 回答