いつもお世話になります。1点質問させてください。
TWebBrowserでページ内の文字列検索を実装しようと思っているのですが、
フレームが分かれている際、アクティブなフレームから検索を行おうと思い、
IHTMLWindow4(WebBrowser1.Document).hasfocus
という命令を用い、検索対象のフレームがアクティブかどうかを確認しよう
と思いました。
そのため、uses節にMSHTML_TLBを追加して、上の命令を記述してコンパイル
しようとしたのですが、「hasfocus」が未定義の識別子としてエラーが出て
しまい、コンパイルできません。
Delphi6 Personal + IE8の環境では、このIHTMLWindow4というのは使用不可能
なのでしょうか。もしご存知の方、実際にお使いの方などいらっしゃいましたら、
ぜひお教えください。よろしくお願いいたします。
こんにちは。Mr.XRAYです。
>Delphi6 Personal + IE8の環境では、このIHTMLWindow4というのは使用不可能
たとえPersonal版でも、タイプライブラリを生成した場合、pasファイルのソースコードがあります。
MSHTML_TLB.pas内のコードで確認できます。
生成されるTLB関係のファイルは、DelphiとOSのバージョンによって異なる場合がありますので、
自分で確認してみてください。
(ソースコードというのは強力な開発の武器です)
もっとも、hasfocusというのは、IHTMLWindow4には元々ないようですが。
HTMLWindow4 Interface
http://msdn.microsoft.com/en-us/library/aa741344%28VS.85%29.aspx
IHTMLDocument4 Interface
(こちらにはあります)
http://msdn.microsoft.com/en-us/library/aa752529%28VS.85%29.aspx
ちなみに、少なくともDelphi 2007以上であれば、
HTMLWindow4、IHTMLDocument4インターフェイスのどちらも、
デフォルトで(タイプライブラリの取り込みをしなくても)使用可能です。
Delphi 6のMSHTML.pasにはありません。
ツイート | ![]() |