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

投稿日: 2006/12/19(Tue) 13:51
投稿者YK
Eメール
URL
タイトルRe^8: Changeイベントでテキストボックスを変換

こんにちは。

> 複数文字を入れようとすると、先頭の1文字のみがポインタ
> のある位置に入り残りすべてが、最後に入ってしまいます。
>
> どう対処すればいいですか。

るしぇさんのコードをお借りしています。

Option Explicit
Private m_SyorityuFlag As Boolean '処理中フラグ

Private Sub Text1_Change()
    Dim top_chr As String
    Dim str_chr As String
    Dim lPosi   As Long
    
    If m_SyorityuFlag Then Exit Sub
    
    lPosi = Text1.SelStart
    
    top_chr = UCase(Mid$(Text1.Text, 1, 1))
    str_chr = LCase(Mid$(Text1.Text, 2))
    m_SyorityuFlag = True
    Text1.Text = top_chr & str_chr
    m_SyorityuFlag = False
    
    If Text1.SelStart = 0 Then
        Text1.SelStart = 1
    Else
        Text1.SelStart = lPosi
    End If
End Sub

Private Sub Text2_Change()
    Dim lPosi   As Long
    
    lPosi = Text2.SelStart
  
    Text2 = StrConv(Text2, vbProperCase)
        
    If Text2.SelStart = 0 Then
        Text2.SelStart = 1
    Else
        Text2.SelStart = lPosi
    End If
End Sub


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

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

- VBレスキュー(花ちゃん) - - Web Forum -