TWebBrowser でクリックせずにホイールスクロールを有効にする

StyleNoteのブラウザー部分は、TWebBrowserコンポーネントを利用しています。

TWebBrowserは、その他のコンポーネントと同じように、マウスホイールでコンテンツをスクロールできますが、TWebBrowserオブジェクトの生成後は一度「マウスクリック」でTWebBrowserにフォーカス(?)を当ててからでないと、なぜかスクロールできないようです。

そこで調べてみると、TWebBrowserコンポーネント上で、DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER イベントが発生した際に、IOleObject::DoVerb に OLEIVERB_UIACTIVATE を指定してすることで回避できるようです。

[cpp]
DelphiInterface OleObject = IE->Application;
if(OleObject){
DelphiInterface ClientSite;
OleObject->GetClientSite(&ClientSite);
RECT r = IE->ClientRect;
OleObject->DoVerb(OLEIVERB_UIACTIVATE, NULL, ClientSite, 0, IE->Handle, &r);
}
[/cpp]