VB6でHTMLエディタを作っています。
画面を2分して、左側にソースを、右側にリアルタイムプレビューを表示させようと思っています。
ソースを打つのと同時にプレビューも表示させることはできないのでしょうか?
データを保存しなくてもプレビューを表示させたいです。
過去ログを調べて同じような質問があったのですが、自己解決したっぽくてなにも書かれていなかったので質問することにしました。
>データを保存しなくてもプレビューを表示させたいです。
相対パスのリンクの問題を解決しなければならないので
結構難しいのでは。
VB.NETで○×ゲームを作る方法を教えてください。
フレーム等の第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
すみません^^;
Dim oo As HTMLDocument
の部分は不要です
ありがとうございます" ゜☆,。・:*:★o(´▽`*)/♪Thanks♪\(*´▽`)o゜★,。・:*:・☆゜ "
WebBrowser1.Navigate "http://w/"
Do While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
↑
ココの部分ってど〜ゆ〜意味ですか?
あの〜、エラーがいっぱいでますけど・・・(´・ω・`)ショボーン
つふるさんとはるさんは同一人物でしょうか?
そうでないならば、ここははるさんの「リアルタイムプレビューを作るには?」
を質問されているところなので、別にスレッドを立てて聞くべきだと思います
VB梅さんありがとうございます。
まだ基本的なHTMLタグしか試していませんが、うまく動作しました。
ただ、時々うまく動作してくれません。
具体的には、「あいうえお」と打った後に1文字ずつバックスペースで消したら、プレビューに「あいうえおあいうえあいうあい」と、前あった文字に続けて表示されてしまいます。(分かりづらくてすみません)
どういった条件でなるのかはよくわかりませんが。
もしかして入力速度の問題でしょうか?
あと、ファイルを参照させようと思い、適当にtest.htmlを作成し、
WebBrowser1.Navigate のところに
App.Path & "\test.html" みたいにファイルまでのフルパスを指定してみたのですが、うまくいきません。
どうやったらファイルを読み込めるようになるのでしょうか?
たくさんの質問と、長文失礼します。
あと、「はる」は「はる」ですのであしからずw
あら、ちゃんと動かないですか^^;
うちの環境は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
ファイルの読み込み解決しました。
私が拡張子を間違って書いていたのが原因でした。
test.htmのところをtest.htmlにしてました。
直したらちゃんと動きました。
もうしわけない。
次にプレビューの変な表示ですが、これは滅多にならないので確認のしようがないのですが、VB梅さんの教えてくれたコードを追加しておきました。
たぶんこれで大丈夫かな?w
これで無事リアルタイムプレビューを作成することができました。
ご親切にありがとうございました。
| ツイート |
|