TWebBrowser が DesignMode (HTMLDocument2.designMode := 'On';) に設定されている場合、TEdit/TMemo などの標準コントロールの OnChange イベントと同様に、ユーザーがコントロールに入力したときにドキュメントへの変更を検出する方法はありますか?
ありがとう
TWebBrowser が DesignMode (HTMLDocument2.designMode := 'On';) に設定されている場合、TEdit/TMemo などの標準コントロールの 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