• ベストアンサー

スクロールしないテキストボックス VB6です。

原稿用紙の様に固定した行数、列数のテキストボックスを作りたいのですが、どうすれば良いのでしょうか。 MultiLine にすることまで分かるのですが、最下行で改行するとスクロールアップしてしまいます。 動かない様にするにはどうしたら良いでしょうか。

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

  • ベストアンサー
  • NYOI
  • ベストアンサー率58% (56/96)
回答No.2

単純に改行キーを数えるだけだと行マックスで自動改行された場合が考慮されないので、APIなどをつかって現在の行数を取得し、入力不可などの処理をしてみると良いと思います。 以下のサイトが参考になると思われます。

参考URL:
http://www.bcap.co.jp/hanafusa/VBHLP/TextEdit.htm
tooton
質問者

お礼

#1さんとの合わせ技でできました。ありがとう御座いました。

その他の回答 (1)

noname#140971
noname#140971
回答No.1

Private Sub Text1_KeyPress(KeyAscii As Integer)   Dim isCancel As Boolean      isCancel = CharCount(Me.Text1.Text, Chr$(13)) >= 9   If isCancel And (KeyAscii = 13) Then     KeyAscii = 0   End If End Sub これで、10行で固定されます。 Public Function CharCount(ByVal Text As String, ByVal C As String) As Integer   CharCount = Len(Text) - Len(Replace(Text, C, "")) End Function

tooton
質問者

お礼

やってみたのですが、動作が不安定でした。 #2さんのおかげで助かりました。ありがとうございました。

関連するQ&A

  • テキストボックスについて

    1. テキストボックスの MultiLine プロパティを False に設定すると,そのプログラムの実行中に,テキストボックス内でリターンキーが押されると,エラー音が発生します。これを抑止したいのですが,どうすればよいのでしょうか? なお,MultiLine プロパティを True にするとエラー音は発生しなくなりますが,そのかわりに改行が行われてしまいます。MultiLine プロパティを True にして改行を抑止する方法でも構いません。どうか教えていただきたく存じます。 2. テキストボックス入力中にタブキーが押されたことを認識させたいのですが,KeyDown で認識させようとしてもうまくいきません。単にフォーカスが動いてしまうだけになってしまいます。フォーカスを移動させずに,タブキーが押されたことを認識させる方法を教えてください。 以上2点,どうかよろしくお願いいたします。

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

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

  • VBA テキストボックスの行数取得

    Excle2000を使用しています。 ユーザーフォームにテキストボックスを設置してあり、MultiLineとEnterKeyBehaviorをTrueにして改行できるようにしてあります。 そこでテキストボックスに文字を入力し、コマンドボタンなどをクリックするとメッセージボックスにそのテキストボックスの行数を表示させるにはどうしたら良いでしょうか?? よろしくお願いします。

  • スクロールテキストボックス リンク

    ホームページのトップページにスクロールテキストボックスを設けて、スクロールテキ... ホームページのトップページにスクロールテキストボックスを設けて、スクロールテキストボックスのなかのテキストにリンクを張りたいのですが、やり方がわかりません。誰か分かる方教えてください。

  • テキストボックスに改行を含む値を表示する場合

    テキストファイルより1行ずつ値を改行「chr(13)」でつなげて取得し、それを テキストボックスに表示させたいのですが、そのまま値をテキストボックスの textプロパティに設定すると、改行が「・」で表示され改行されていません。 テキストボックスのプロパティでMultiLineもTrueにしてあるのですが、これは 無理なことなのでしょうか? 一行ずつ取得してテキストボックスに表示する際に改行を設定していくしかない のでしょうか? 詳しい方いらっしゃいましたらご教示ください。 よろしくお願いいたします。

  • テキストボックスのエンターキー無効

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

  • ACCESSでテキストボックスの制御がしたい

    テキストボックスの制御をしようとして、つまずいてしまったので質問いたします。 やりたいことは ・テキストボックス全体の文字数120文字。 ・テキストボックス1行の文字数40文字。 ・3行固定で途中改行しても固定は続ける。 ・3行目にカーソルがあるときに改行すると、次のテキストボックスに移動する。 現状は、テキストボックス内で改行すると、次の行から次の文字が始まってしまい、3行で固定出来ず4行目にはみ出してしまう状態です。 インターネットなどで調べても情報がない状態で困っています。 ご存知の方、ご教授よろしくお願いします!

  • マウスホイールでテキストボックスのスクロールバーを

    マウスホイールでテキストボックスのスクロールバーを移動させたいです 帳票フォームにしています。 フォームのテキストボックスにスクロールバーありにしてるのですが そのテキストボックスがアクティブになった時に、 マウスホイールをクリクリした時に、 テキストボックスのスクロールバーを移動させたいのですが フォーム上スクロールバーが動いてしまいのレコードが移動してしまいます。 テキストボックスがアクティブの時に↓キーを押せばテキストボックスの スクロールバーは移動しますが、 マウスホイールで操作することは不可能でしょうか? テキストボックスには 1 2 3 4 5 6 7 8 9 10 がはいっています。

  • WEB上で編集できない、スクロールがあるテキストボックスの作り方を教え

    WEB上で編集できない、スクロールがあるテキストボックスの作り方を教えてください。 HTMLで、「スクロールバーがあるボックスの中に文章をいれる」 やり方を 調べているのですが よくわかりません。 <textarea>~</textarea> で 中に文章をいれてつくってみたのですが WEB上にアップしたあと、その文章は 別の人でも編集できるようです。 私が作りたいのは、よくHPなどの更新情報や使用承諾書などで 使われているような スクロールボックスの中に文章は 表示されている だけのものです。 いろいろ調べたのですが、よくわからず困ってます。 仕事の締め切りもしまっており、これ以上 調べるつずけるのも苦しく断念しました。 すいませんが 教えていただけないでしょうか?

    • ベストアンサー
    • HTML
  • テキストボックスの作り方を教えて下さい。

    エクセルで、この質問内容を入力出来る様なテキストボックスの作り方を教えて下さい。横の行が自動に折り返しをしたり、縦の行にスクロールバーが出来たり。ボックスを固定してすぐ入力出来たり。 宜しくお願いします。

専門家に質問してみよう