プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (2件)

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
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/07/17 21:47

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



以下のサイトが参考になると思われます。

参考URL:http://www.bcap.co.jp/hanafusa/VBHLP/TextEdit.htm
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/07/17 21:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!