DOBON.NETプログラミング道掲示板
(現在 過去ログ1 を表示中)
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[
最新記事及び返信フォームをトピックトップへ
]
[ トピック内全1記事(1-1 表示) ] <<
0
>>
■32904
/ inTopicNo.1)
Webbrowserコントロールでのページ内検索
▼
■
□投稿者/ takeru
一般人(1回)-(2015/04/07(Tue) 17:24:55)
環境/言語:[Windows7 C# Framework4.5]
分類:[.NET]
Webbrowserコントロールでのページ内検索を実装しています。
ExecWBにOLECMDID_FINDを渡すと標準の検索ダイアログが表示され、ページ内検索が可能な事は確認済みですが、当方がやりたいことはIEのように検索HIT数の表示も可能なツールバータイプでの実装を考えています。
IHTMLTxtRangeを利用し下記の様にして、検索語句のハイライト表示は可能でしたが、HIT数に関しては表示されていないものまでHITしてしまっているようで実際にハイライトされている数と一致しません。
ページ内に表示されているもののみカウントする方法はありますでしょうか?
int cnt = 0;
mshtml.IHTMLDocument2 doc = Browser.Document.DomDocument as mshtml.IHTMLDocument2;
mshtml.IHTMLBodyElement body = doc.body as mshtml.IHTMLBodyElement;
mshtml.IHTMLTxtRange objRange = body.createTextRange();
while (true)
{
//文字列検索
ret = objRange.findText(str, 1, 0);
if (ret == false)
{
//見つからなかった(ハイライト処理終了)
break;
}
//見つかった文字列の部分の背景の色を黄色に変更
objRange.execCommand("BackColor", false, "YELLOW");
//次の検索開始位置を後方にづらす。
objRange.collapse(false);
cnt++;
}
引用返信
削除キー/
編集
削除
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-