tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルテキストの文字入力を半角英数またはカタカナに制限
記事No11980
投稿日: 2008/04/09(Wed) 11:10
投稿者aaa
imTextで入力文字を半角英数または半角カタカナのみにしたいです。

デフォルトのIMEModeを半角カタカナに指定した場合、
半角/全角キーで半角英数にIMEModeを変更することが可能。

ですが、今回デフォルトのIMEModeは半角英数にしたいです。
デフォルトのIMEModeを半角英数に指定した場合、
半角/全角キーで半角英数にIMEModeを変更することが不可能。
デフォルトのIMEModeを既定値に指定した場合、
半角/全角キーで半角英数や半角カタカナにIMEModeを変更することが可能
ですが、全角文字にもモードが変更してしまいます。

プログラムで入力が全角文字だった場合、入力をクリアするという
制限はしていますが、できれば、IMEModeの変更は
半角英数か半角カタカナのみにしたいです。

何かいい方法はありませんか。

[ツリー表示へ]
タイトルRe: テキストの文字入力を半角英数またはカタカナに制限
記事No11981
投稿日: 2008/04/09(Wed) 12:11
投稿者aaa
全角・半角かを判断するところに追加すればできました。

Private Function Bytechk(Value As String) As Boolean
    Dim LetterCount As Long        '文字列の文字数
    Dim ByteCount As Long            '文字列のバイト数

    LetterCount = Len(Value) '入力文字数
    ByteCount = LenB(StrConv(Value, vbFromUnicode))  '入力文字のバイト数
    
    If LetterCount <> ByteCount Then '全角ならば
        txtSendName.IMEMode = imIMEKatakanaSBCS '半角カタカナ入力に指定
        txtSendName.Text = ""
    End If

End Function。

[ツリー表示へ]