■25663 / inTopicNo.1) |
webBrowserコントロールを使用して選択されているテキ |
□投稿者/ まぐねしうむ (44回)-(2008/09/24(Wed) 14:31:54)
|
分類:[C#]
環境 VS2005 SP1
いつもお世話になっております。
http://www.codeproject.com/KB/edit/editor_in_windows_forms.aspx
http://bbs.wankuma.com/index.cgi?mode=red&namber=3416&KLOG=12
を参考にしてwebBrowser上で選択されたTxt領域を着色及び位置情報を取得して保存を
しようと思っております。
選択したTxtの着色は出来ているのですが、位置情報を取得する方法が分かりません。
どなたか教えて頂けないでしょうか?
・やりたい事
1Page目で下記の文章があったとして
あいうえお あいうえお あいうえお
~~~~~~~~~~
をマウスで選択したとします。
選択後着色ボタンを押します。
この状態で他のPageに移動し、再度1Page目に戻ってきたときに
前回着色した2個目の「あいうえお」を自動的に着色したいと思います。
この場合、検索による位置の取得だと、前後の箇所もHitしてしまいます。
その為、重複したKeyWordがある場合でも着色処理を行う為に
Txtの位置情報等を取得する必要があると思うのですがどうすればよいでしょうか?
また、この機能を実現する方法があれば特に方法にこだわる必要はありません。
///背景色を設定する
public void SelectBackColor()
{
Color color = EditorBackColor;
if (ShowColorDialog(ref color))
EditorBackColor = color;
}
///背景色を設定する
public Color EditorBackColor
{
get
{
if (ReadyState != ReadyState.Complete)
return Color.White;
return ConvertToColor(doc.queryCommandValue("BackColor").ToString());
}
set
{
string colorstr =string.Format("#{0:X2}{1:X2}{2:X2}", value.R, value.G, value.B);
webBrowser.Document.ExecCommand("BackColor", false, colorstr);
//ここで選択された位置情報を
//mshtml.IHTMLTxtRange objRangeに保持したいのですが方法が分かりません。
}
}
以上よろしくお願いします。
|
|