如果将 TWebBrowser 置于 DesignMode (HTMLDocument2.designMode := 'On';) 中,是否有办法在用户键入控件时检测文档的更改,类似于像 TEdit/TMemo 这样的 std ctrls 的 OnChange 事件?
谢谢
如果将 TWebBrowser 置于 DesignMode (HTMLDocument2.designMode := 'On';) 中,是否有办法在用户键入控件时检测文档的更改,类似于像 TEdit/TMemo 这样的 std ctrls 的 OnChange 事件?
谢谢
一旦您实现 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