掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
WebBrowserデザインモードの選択位置取得について (ID:145192)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お役には立てませんが・・・私も興味があるし、ふろんさんに別件で声をかけたかったので・・・ http://d.hatena.ne.jp/brazil/20061021/1161377936 WebBrowserのキャレット位置取得は、上記URLを読んでTextRangeオブジェクトとかを使ってするのかなーと思って試してみたんですが、私の頭ではうまくいかず、下記のようにマーカーになる文字列をHTMLに挿入して、そこから選択位置をつかむようにして誤魔化しました(^^; (WebBrowser1,TextBox1の2つのコントロールがあるとして) Dim marker As String = "@@@" Dim caret As Integer Dim str As String = WebBrowser1.Document.DomDocument.selection.createRange.HtmlText 'str = WebBrowser1.Document.DomDocument.selection.createRange.Text WebBrowser1.Document.DomDocument.selection.createRange.pasteHTML(marker & str) TextBox1.Text = WebBrowser1.DocumentText TextBox1.Focus() caret = TextBox1.Text.LastIndexOf(marker) TextBox1.Text = TextBox1.Text.Remove(caret, marker.Length) TextBox1.SelectionStart = caret If Not str = Nothing Then TextBox2.SelectionLength = str.Length End If そのままでいくと、HTMLタグのほうがとんでもないことになっていきますので使い物には・・・。 If文部分を除けば、範囲指定はせず、選択範囲の先頭にキャレットを移動するだけになります。 詳しい方からスマートな方法を伝授していただけるといいですね。(お互いに) ------------------------------------------------------- ここに書くのはどうかなぁと思うんですが、解決済みのスレに書くよりはと思い書きます。 POPUP回避についてですが、あれで回避できてるのはwirte()は新規作成が機能だからかなと思ってます。 >・ソース編集後Urlがabout;_blankになって困ってしまい・・・ >の部分も理解できません。 あの方法で回避したあと、新規作成したものにテキストをコピーした状態になっているため、ファイルの場所(URL)がabout;_blankになってしまいます。そうすると相対パスで挿入している画像とかの表示ができなくなってしまい困りました。 ということでしたf(^^;;; スレと関係ない話題で、すみません。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.