テキストボックスの表示方法とログの追加方法

このQ&Aのポイント
  • テキストボックスの表示方法とログの追加方法を教えてください。数万桁のログを追加する際に重くなってしまうため、最後に追加していく方法を知りたいです。また、ログの最後にカーソルをもっていきたいです。
  • VB 6.0を使用しています。テキストボックスの表示方法とログの追加方法を教えてください。重くならずに数万桁のログを追加する方法と、ログの最後にカーソルを移動する方法が知りたいです。
  • テキストボックスの表示方法とログの追加方法を教えてください。VB 6.0を使用しています。数万桁のログを追加すると重くなってしまうため、最後に追加していく方法を知りたいです。ログの最後にカーソルをもっていく方法も教えてください。
回答を見る
  • ベストアンサー

テキストボックスの表示方法

表示方法がわからないので、教えてください。 例えば、 ボタン押すと,ランダムに数字が出て、 それのすべてをログとして取る という風にしたいとき、 text1にランダム表示するとして、 text2にログをとりたいとき 今は、 text2 = text2 & text1 としてやっています。 しかし、数万桁となったとき。 どんどん重くなってしまいます。 できれば、text2の一番最後に、 どんどん追加していきたいのですが、やり方がわかりません。 それと、そのログのテキストの一番最後の所に、カーソルをもっていきたいのです。 上の方式だと、一番上の場所にカーソルがいってしまいますので、スクロールバーを動かすまでは、下が見えないのです。 変な文章で申し訳ないのですが、どなたか、やり方教えてくれませんか? ちなみに、VBは、6.0をつかっています。

質問者が選んだベストアンサー

  • ベストアンサー
  • arata
  • ベストアンサー率49% (139/279)
回答No.2

1.毎回ログを書き込むのをやめて、最後にテキストボックスに設定する。 2.毎回書き込むが、カーソルをテキストボックスの末尾に持っていくのは、最後だけにする。 のいずれかをすれば、ちらつかなくなるのでは?

mutuzi
質問者

お礼

再びありがとうございます。 とりあえず、みながらやってみたかったもので、 確かに、どちらともちらつかなくなりますね。 とりあえず、やってみて、ダメなら、基本自体からいじってみようかと思います。 どうもありがとうございました。

その他の回答 (1)

  • arata
  • ベストアンサー率49% (139/279)
回答No.1

テキストボックスの文字列操作はスピードが遅いので、文字列の変数にログを記録するようにして、その変数で文字列を編集してからテキストボックスに入れるように変えてみてください。 'ログを入れる変数は、Generalでとってください。 Private strLog As String Private Sub Command1_Click() Dim strRnd As String strRnd = CStr(Int(1000*Rnd(1)) + 1) Text1.Text = strRnd strLog = strLog & strRnd & vbCrLf Text2.Text = strLog End Sub テキストボックスのカーソルの位置はSelStartプロパティで操作します。 Text2.SelStart = Len(strLog) それから、ログですが、この用途ならリストボックスでもいいのではないでしょうか?

mutuzi
質問者

補足

早速の解答ありがとうございます。 やってみたところ、できました。 それで追加という形で申し訳ないのですが、 ボタンを押すのをタイマーでやり、 intervalを、5ぐらいでやると、 テキスト自体がちらついてしまいます、 これはどうにかできないのでしょうか? どなたか教えてはくれませんか? できないのなら、できないで、あきらめますので、 どなたか教えてください。

関連するQ&A

  • テキストボックスとスクロールバー

     VC++ 2005 Express Edition を使用しています.  テキストボックスへの文字列の(末尾への)追加を下のように行っています. vvv this->textBox1->Text = this->textBox1->Text + "\r\n" + textBox2->Text; ^^^  追加を繰り返してテキストの行数がテキストボックスの高さを越えると右端にスクロールバーが出るのですか,上の方法で追加していくとスクロールバーがテキストボックスの上辺に付いたままで,追加しているテキストを確認できません(スクロールバーの長さは小さくなっているので,文字列が追加されている,ということは分かります).  テキストの行数がテキストボックスの高さ以上になったときに,スクロールバーをテキストボックスの下辺に付ける,ということはできるのでしょうか.

  • テキストボックスを下から上へ表示させる

    こんにちは、visualbasic2005のテキストボックスのことで質問させていただきます。 ボタンを押すとテキストボックスに文字列を追加表示させたいのですが、表示の仕方でつまづいています。 普通は、 textbox1.Text += "1" textbox1.Text += "2" textbox1.Text += "3" などとすると  ____________ |1                 | |2                 | |3                 | |                  | |                  |   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ と表示されますが、  ____________ |3                 | |2                 | |1                 | |                  | |                  |   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ このように順番が逆に、つまり新しく追加した文字列が一番上に表示されるようにしたいのです。 また、  ____________ |5                 | |4                 | |3                 | |2                 | |1                 |   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ この状態で「6」を追加すると(テキストボックスの縦幅を超えると)  ____________ |6               ■| |5               ■| |4               ■| |3               ■| |2               □|   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ とずれ込み、右側にスクロールバーが出るようにしたいのです。 どうかよろしくお願いします。

  • テキストボックスでのデータ表示方法

    こんにちは いつもお世話になります。 VB.NET 2003 + Access2000 の環境です。 データセットを使ってデータを読み込んできた場合、データグリッドに表示させるときには、FORMATで指定できるのは知っていたのですが、テキストボックスに表示させるにはどうしたらよいのでしょうか? たとえば数値データを3桁区切りに表示させたいとか、¥マークを付けたいとか・・・。 入力のときにカンマを表示させる方法はこの過去ログにありましたが、すでに入力されている(カンマなしの)データを呼び込んできた場合の方法をご教示ください。 よろしくお願いいたします。

  • C# テキストボックスで常にスクロールバーを表示するには

    テキストボックスでスクロールバーを表示する機能はありますが、 テキストが少ない状態でも常にスクロールバーを表示しておくためには どうすればよいのでしょうか。 よろしくお願いいたします。

  • テキストボックスでの数値の表示のしかた

    VBをつい最近はじめた者です。(^^; テキストボックスに、例えば '234'と入力したとき、同じテキストボックスに'000234'というように、あらかじめ決めた桁数(この場合6桁)を満たすように、上位の桁に0を表示させるようにするにはどうしたら良いでしょうか。 また、はじめは '000000' と表示させておき、入力後に'000234'と表示できるとなお良いです。 プロパティのMaxLengthで'6'の設定はしてあります。

  • VBでテキストBOXにカーソル

    VBで text1 にカーソルがある場合に同時にlabel1に 「現時テキスト1にカーソルがあります」と言うふうに表示させる場合どうずればよいのでしょう?

  • テキストボックス

    無料の掲示板を借りたのですが、 書き込みをする時に、 テキストボックスに文字を書いていきますよね。 複数行書いていくとテキストボックスに、 スクロールバーが出てきます。 読み直す時にキーボードの↑ボタンでカーソルを移動させると、 その時画面に表示されている行までしか カーソルがあがらないんです。 もっと上を見るにはマウスを使わないといけません。 ↓ボタンも同様です。 自力で頑張ろうと思ったのですが、よく解らないので教えてください。 今、テキストボックスのソースは <TABLE border="0" cellspacing="1" cellpadding="5" bgcolour="#ffffff" style="filter:Alpha(opacity=80);"> <tr> <td> <table border="0" cellspacing="0" cellpadding="0" align="center" width="400"> <tr> <TD><TEXTAREA class="inp" name="mes" rows="6" cols="50"></TEXTAREA></TD> </tr> </table> </TABLE> となっています。 style="filter:Alpha(opacity=80);" っていうのを消すとカーソルがちゃん一番上(下)まで動きます。 これ消さずにキーボードでカーソルをちゃんと動かすことは可能ですか? 不可能であれば、「style="filter:Alpha(opacity=80);"」以外で 背景を透けさせる方法があれば教えてください。 関係ないかもしれませんが、 パソはWIN XPでIE6。です。 説明不足だったら申し訳ないです。 よろしくおねがいします。 ※カテゴリー間違いだったらすみません。

    • ベストアンサー
    • HTML
  • テキストボックスのエンターキー無効

    VB6.0について質問いたします。 テキストボックスの入力の際に改行を強制的にできないように制御したいのですが次のプログラムでは上手くいきませんでした。 Private Sub Text_KeyDown(KeyCode As Integer, Shift As Integer) If vbcode = vbKeyReturn Then Exit Sub End If End Sub エンターキーを押したとき何も実行しないようにするにはどうしたらいいですか? テキストボックスはスクロールバーを設置してMultiLine プロパティをtrueに設定しています。

  • テキストボックスでのカーソルについて

    VB6で作ったフォームでテキストボックスにフォーカスが移ったときに既に入っている文字列の先頭にカーソルがいるのですが、これを文字列をすべて選択した様に(反転表示)にならないか、または文字列の最後尾にカーソルを置けないか、悩んでいます。よろしくお願いいたします。

  • テキストボックスでカーソルが表示しない

    OSはVISTA。WORDは2007。 1 WORD画面にテキストボックスを挿入すると、通常はその枠の中に   自動的にカーソルと改行キーが表示され、その位置から文字が   入力できるの筈だが。    カーソルと改行キーが表示されず、従って文字が入力できない。 2 図形の挿入をして、右クリックで「テキストの追加」をクリック   すればカーソルと改行キーが表示され、その位置から文字が   入力できるの筈だが。    カーソルと改行キーが表示されず、従って文字が入力できない。 3 尚、同じPCでEXCEL2007では、1,2ともできる。 4 購入当初はは出来ていたのだが、、。何かご設定でもしたのか不明。 5 解決方法を教えてください。