VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/03/23(Wed) 00:24
投稿者kuro3
Eメール
URL
タイトルRe^5: チラツキ防止(修正分)

返信ありがとうございます。
ためしてみたのですが、残念ことにNGでした。
まず、この手法ですと実際にはリターンコードがまじり改行が生じると、
ちらついてしまいました。
また、説明不足で申し訳ないのですが、一行の文字数はそれなりに違いまして、
文字での管理はあまり望ましくないのいった状態です・・・。
ただ、確かに文字での処理をしたほうが早いという印象を受けました。

ちらつきに関しましては、実際にはスクロールバーがすごい勢いで動きまして、
画面も流れている感じにならないのです。
具体的には、下記コードを実行いただけましたら体感いただけると思います。
もし、改善策が浮かびましたもう暫しお付き合いいただけたらありがたいです。


'前処理
'RichTextBox1.ScrollBars を 3に設定願います。
Private Sub Form_Load()

   'リッチテキストに複数行をデータを用意しておく。
   RichTextBox1.Text = "hjkljfajslkfjal" + vbCrLf + _
   "hjkljfajslkfjal" + vbCrLf + "hjkljfajslkfjal" + vbCrLf + "hjkljfajslkfjal" + vbCrLf + _
     〜中略〜
   "hjkljfajslkfjal" + vbCrLf   


End Sub

Private Sub Timer1_Timer()
    Dim n As Long
    RichTextBox1.SelStart = 2147483647
    '現在の文字数を取得
    n = Len(RichTextBox1.Text)
    '現在の文字列を現在の文字列+追加書き込みした文字数で置き換える
    RichTextBox1.Text = Right$(RichTextBox1.Text & "あ" + vbCrLf, n)  
    RichTextBox1.SelStart = 2147483647
    '現在の文字数を取得
    n = Len(RichTextBox1.Text)
    '現在の文字列を現在の文字列+追加書き込みした文字数で置き換える
    RichTextBox1.Text = Right$(RichTextBox1.Text & "しくしくしく" + vbCrLf, n)

End Sub


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -