tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルテキストボックスのスクロールについて
記事No14965
投稿日: 2010/10/14(Thu) 09:54
投稿者五郎
はじめまして、五郎です。
VB6のテキストボックスについて教えて下さい。
現在、テキストボックスを232Cからの受信コマンドを表示させています。
テキストボックスは、マルチライン、スクロールは垂直方向となっています。

このときに、受信されるコマンドは、受信される度に下へ下へ追加されて行きます。
確認するには、カーソルをしたまで持っていかないなりません。
この受信されるコマンドを一番上に追加して行く方法はないのでしょうか。

すみませんが宜しくお願い致します。

[ツリー表示へ]
タイトルRe: テキストボックスのスクロールについて
記事No14966
投稿日: 2010/10/14(Thu) 11:00
投稿者花ちゃん
> このときに、受信されるコマンドは、受信される度に下へ下へ追加されて行きます。
> 確認するには、カーソルをしたまで持っていかないなりません。
> この受信されるコマンドを一番上に追加して行く方法はないのでしょうか。

Text1.Text = 受信データ & VBCrLf & Text1.Text のようにしたいのか?

最終行を画面のトップ位置に表示させたいのかどちらなのでしょうか?

又、は、 Text1.SelStart = Len(Text1.Text) でもいいのでしょうか?

2番目の方法は、手動で操作しても解る通り、最終行が表示された時点から上には
スクロールしないので改行のみの空行を追加するなり、API 等を使用する等工夫が
必要になります。

[ツリー表示へ]
タイトルRe^2: テキストボックスのスクロールについて
記事No14967
投稿日: 2010/10/14(Thu) 11:53
投稿者五郎
花ちゃんさんありがとうございます。

小生がしたいことは、受信されるデータ例えば、500、600、800とデータ来たときに
トップ画面:800
      600
      500
と常に最新のデータが画面のトップ位置に表示をさせたいのです。

> Text1.Text = 受信データ & VBCrLf & Text1.Text のようにしたいのか?
上記のやり方を
> Text1.Text = 受信データ & VBLf & Text1.Text で試しましたが、
トップ画面:008
      006
      005
となり、最新がトップ画面になりましたが、数値の表示方向が逆になってしまいました。
これは、文字列の反転表示などで直せばいいのでしょうか。

[ツリー表示へ]
タイトルRe^3: テキストボックスのスクロールについて
記事No14968
投稿日: 2010/10/14(Thu) 13:20
投稿者花ちゃん
> トップ画面:008
>       006
>       005
> となり、最新がトップ画面になりましたが、数値の表示方向が逆になってしまいました。
> これは、文字列の反転表示などで直せばいいのでしょうか。

では、800 となる時はどのように一行分を取得(改行の位置)していたのですか?
(どのように通信設定をしてデータを取得しておられるかは、私には解らないので)

一行分(3 Byt ?)になるなるまで変数に受けていて、一行分になったらTextBoxに追加したら
いいのではないですか。
Text1.Text = 受信データ(一行分  800) & vbCrLf & Text1.Text

[ツリー表示へ]
タイトルRe^4: テキストボックスのスクロールについて
記事No14970
投稿日: 2010/10/14(Thu) 14:01
投稿者五郎

> では、800 となる時はどのように一行分を取得(改行の位置)していたのですか?
> (どのように通信設定をしてデータを取得しておられるかは、私には解らないので)

データは、LFを見てデータ取得をしています。

> 一行分(3 Byt ?)になるなるまで変数に受けていて、一行分になったらTextBoxに追加したら
> いいのではないですか。
> Text1.Text = 受信データ(一行分  800) & vbCrLf & Text1.Text

なるほど、そうですね。
1行分になってからTextBoxに追加すれば良いんですよね。
テキストボックスのプロパティ設定で何とかできると思いこんでいたので
全然考えつかなかったです。

****
できました。

花ちゃんさんありがとうございます。

もう少し、全体を見る様にしてみます。

[ツリー表示へ]