2003-03-17 [長年日記]

IWebBrowser2で検索

以上を踏まえて、テストコードを書いてみました。C++で書くと面倒なのでJavaScriptで。

<html>
<head>
<script type="text/javascript">
function test(value, prev) {
  var selection = document.selection;
  var range = selection.createRange();
  if (range.text == "")
    range = document.body.createTextRange();
  else
    range.collapse(prev);
  
  if (range.findText(value, prev ? -1 : 1))
    range.select();
  else
    alert('Not Found');
}
</script>
</head>
<body>
<p>abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz</p>
<p><input type="text" name="text"></p>
<p><input type="button" value="Next"
  onclick="test(text.value, false)"></p>
<p><input type="button" value="Prev"
  onclick="test(text.value, true)"></p>
</body>
</html>

一応思ったような動作をするようです。というわけで、これをC++に移植しましょう。