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

投稿日: 2005/03/24(Thu) 00:51
投稿者kuro3
Eメール
URL
タイトルスクロールバーが動く理由につきまして

自己レス失礼いたします。

> 花ちゃんさんへ
>
> >どこが違うのでしょうかね。私の環境ではスクロールバーは動きません。
> そうなのですか!?、こちらでは
> RichTextBox1.Text = "あ"
> とするだけで、カレットは一番最初に動いてしまいます。
> すこし、この方向をしらべてみたいと思います。

スクロールバーの動く原因の予想がつきました。
理由はわからないのですが、下記コードを実行する際に、
RichTextBox1にフォーカスがある際は、スクロールバーが上下に動き、
その他のコントロールにフォーカスがある場合は、
一番したに固定するようです。

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

   'リッチテキストに複数行をデータを用意しておく。
   RichTextBox1.Text = "hjkljfajslkfjal" + vbCrLf + _
   "hjkljfajslkfjal" + vbCrLf + "hjkljfajslkfjal" + vbCrLf + "hjk
ljfajslkfjal" + 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 -