- ベストアンサー
スクロールしないテキストボックス VB6です。
原稿用紙の様に固定した行数、列数のテキストボックスを作りたいのですが、どうすれば良いのでしょうか。 MultiLine にすることまで分かるのですが、最下行で改行するとスクロールアップしてしまいます。 動かない様にするにはどうしたら良いでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
単純に改行キーを数えるだけだと行マックスで自動改行された場合が考慮されないので、APIなどをつかって現在の行数を取得し、入力不可などの処理をしてみると良いと思います。 以下のサイトが参考になると思われます。
その他の回答 (1)
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
質問者
お礼
やってみたのですが、動作が不安定でした。 #2さんのおかげで助かりました。ありがとうございました。
お礼
#1さんとの合わせ技でできました。ありがとう御座いました。