リアルタイムプレビューを作るには?

解決


はる  2005-12-06 10:48:17  No: 93083

VB6でHTMLエディタを作っています。
画面を2分して、左側にソースを、右側にリアルタイムプレビューを表示させようと思っています。
ソースを打つのと同時にプレビューも表示させることはできないのでしょうか?
データを保存しなくてもプレビューを表示させたいです。

過去ログを調べて同じような質問があったのですが、自己解決したっぽくてなにも書かれていなかったので質問することにしました。


我龍院忠太  2005-12-06 11:36:50  No: 93084

>データを保存しなくてもプレビューを表示させたいです。
相対パスのリンクの問題を解決しなければならないので
結構難しいのでは。


つふる  2005-12-06 12:05:53  No: 93085

VB.NETで○×ゲームを作る方法を教えてください。


VB梅  2005-12-06 12:26:27  No: 93086

フレーム等の第2フレームを編集というのは大変ですが、
単一ページはこんな感じでできます。
サンプル内のWebBrowser1.Navigate "http://w/"は必要なようです。
早く動作させるには、C:\test.html等空白ファイルをあらかじめ作成して
このファイルを参照するようにしておくと良いです。
JavaScriptの動作は確認してませんが多分動きます。

サンプル
Private Sub Form_Load()
Dim oo As HTMLDocument
    WebBrowser1.Navigate "http://w/"
    Do While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
        DoEvents
    Loop
    Text1.Text = WebBrowser1.Document.documentElement.innerHTML
End Sub

Private Sub Text1_Change()
WebBrowser1.Refresh
WebBrowser1.Document.write (Text1.Text)
End Sub


VB梅  2005-12-06 12:27:49  No: 93087

すみません^^;
Dim oo As HTMLDocument
の部分は不要です


つふる  2005-12-06 12:47:53  No: 93088

ありがとうございます" ゜☆,。・:*:★o(´▽`*)/♪Thanks♪\(*´▽`)o゜★,。・:*:・☆゜ "


つふる  2005-12-06 13:06:18  No: 93089

WebBrowser1.Navigate "http://w/"
    Do While WebBrowser1.ReadyState <> READYSTATE_COMPLETE


ココの部分ってど〜ゆ〜意味ですか?


つふる  2005-12-06 13:22:43  No: 93090

あの〜、エラーがいっぱいでますけど・・・(´・ω・`)ショボーン


ぶぶ  2005-12-06 13:44:35  No: 93091

つふるさんとはるさんは同一人物でしょうか?
そうでないならば、ここははるさんの「リアルタイムプレビューを作るには?」
を質問されているところなので、別にスレッドを立てて聞くべきだと思います


はる  2005-12-06 16:04:10  No: 93092

VB梅さんありがとうございます。
まだ基本的なHTMLタグしか試していませんが、うまく動作しました。
ただ、時々うまく動作してくれません。
具体的には、「あいうえお」と打った後に1文字ずつバックスペースで消したら、プレビューに「あいうえおあいうえあいうあい」と、前あった文字に続けて表示されてしまいます。(分かりづらくてすみません)
どういった条件でなるのかはよくわかりませんが。
もしかして入力速度の問題でしょうか?

あと、ファイルを参照させようと思い、適当にtest.htmlを作成し、
WebBrowser1.Navigate      のところに
App.Path & "\test.html"   みたいにファイルまでのフルパスを指定してみたのですが、うまくいきません。
どうやったらファイルを読み込めるようになるのでしょうか?

たくさんの質問と、長文失礼します。

あと、「はる」は「はる」ですのであしからずw


VB梅  2005-12-06 17:09:58  No: 93093

あら、ちゃんと動かないですか^^;
うちの環境はVB6SP6でWIN2000です。
関係ないかもですがIE6 SP1で動作確認してます。

JavaScriptも正常に動作します。
また、ファイル参照も
WebBrowser1.Navigate "C:\test.htm"
で動作確認してます。
WebBrowserって環境によって左右されやすいですよね、
2000で動いてXPでは動かないこともしばしばです。

WebBrowser1.Refreshが動作中に次の命令が実行されているのかも
WebBrowser1.Refreshの後に次の命令を追加すればOKかもしれません・・・

'Refresh完了まで待機?
    Do While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
        DoEvents
    Loop


はる  2005-12-06 20:59:16  No: 93094

ファイルの読み込み解決しました。
私が拡張子を間違って書いていたのが原因でした。
test.htmのところをtest.htmlにしてました。
直したらちゃんと動きました。
もうしわけない。

次にプレビューの変な表示ですが、これは滅多にならないので確認のしようがないのですが、VB梅さんの教えてくれたコードを追加しておきました。
たぶんこれで大丈夫かな?w

これで無事リアルタイムプレビューを作成することができました。
ご親切にありがとうございました。


※作成する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。







   このエントリーをはてなブックマークに追加