• ベストアンサー

スクロールしないテキストボックス 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