投稿日 | : 2004/07/14(Wed) 00:14 |
投稿者 | : だい |
URL | : |
タイトル | : Re: テキストボックスのカーソル位置 |
> VB6でテキストボックス内に表示されているボックス以上の文字列を入力します。
> そして、カーソルを右端に持っていくとカーソルが5文字分くらい左に移動してしまいます。
解釈が違ってたら失礼。
カーソルが ではなく、文字列の表示が左に移動する という意味ですか?
具体例としては、
花ちゃんさんの例をお借りして...
「あいうえおかきくけこ」
と表示されているところで、
矢印キーでカーソルを右端(「こ」の位置)に移動すると、
「かきくけこさしすせそ」
と表示されますよね?
それを
「あいうえおかきくけこ」
のままで表示しておきたい ということでしょうか?
だとすると、無理やり気味ですが、
Private Sub Form_Load()
Me.Text1.Text = "1234567890ABCDEF"
Text1.Text = "あいうえおかきくけこさしすせそ"
Text1.Move 600, 600, 1600, 350
End Sub
Private Sub Text1_Click()
Me.Text1.SelStart = 0 'クリックされたらカーソルを強引に先頭に戻す
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Debug.Print "KeyDown ", KeyCode, Me.Text1.SelStart
If Text1.SelStart > 8 Then
Select Case KeyCode
Case 39, 40 '右矢印と下矢印なら
KeyCode = 0 'キーを無視する
End Select
End If
End Sub
#本来はMaxLengthを設定して、
#ボックスのサイズ以上の文字が入らないようにすべきものかもしれませんが。