StyleNoteのブラウザー部分は、TWebBrowserコンポーネントを利用しています。
TWebBrowserは、その他のコンポーネントと同じように、マウスホイールでコンテンツをスクロールできますが、TWebBrowserオブジェクトの生成後は一度「マウスクリック」でTWebBrowserにフォーカス(?)を当ててからでないと、なぜかスクロールできないようです。
そこで調べてみると、TWebBrowserコンポーネント上で、DISPID_HTMLELEMENTEVENTS2_ONMOUSEOVER イベントが発生した際に、IOleObject::DoVerb に OLEIVERB_UIACTIVATE を指定してすることで回避できるようです。
1 2 3 4 5 6 7 |
DelphiInterface<IOleObject> OleObject = IE->Application; if(OleObject){ DelphiInterface<IOleClientSite> ClientSite; OleObject->GetClientSite(&ClientSite); RECT r = IE->ClientRect; OleObject->DoVerb(OLEIVERB_UIACTIVATE, NULL, ClientSite, 0, IE->Handle, &r); } |