VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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を設定して、
#ボックスのサイズ以上の文字が入らないようにすべきものかもしれませんが。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -