Enter押しで次のテキストへ・・・(怪現象?)


ゆたろう  2005-07-14 09:33:11  No: 90964  IP: [192.*.*.*]

この掲示板でも入力フォームなどでエンターを押して次の入力項目の欄へフォーカスが移動するやり方は参考にさせていただいたのですが、(VB6です)

こんな感じで実現しております。
    Dim obj As Object
    If KeyAscii = Asc(vbCr) Then
        Set obj = Me.ActiveControl
        Me.ActiveControl.Enabled = False
        obj.Enabled = True
        Set obj = Nothing
    End If
    'エンターキー押下時のビープ音の消音
    If KeyAscii = vbKeyReturn Then
     KeyAscii = 0
    End If

フォームロード時に  Me.KeyPreview = True 

そこで1つ気になる現象が起こっています。入力欄でIMEMode を個別に設定しているのですが、半角英数型の場合、漢字変換などする必要がないので  文字入力⇒エンター  で次の欄へ移動するのがベストなのですが、  同じ設定のテキストなのに
文字入力⇒エンター(確定)⇒エンター(移動)  という流れになってしまうテキストがあるのです。設定が全く同じだけにとても不思議な現象です。何が関係しているのでしょうか?よろしくお願い致します。

編集 削除
那岐  2005-07-14 10:15:07  No: 90965  IP: [192.*.*.*]

テキストボックスのIMEModeを半角英数でなくオフ固定(直接入力)にすればいいのでは?
半角英数ならその前のIMEModeがひらがなやカナであった時におっしゃる内容の動作になると思いますが。

編集 削除
ゆたろう  2005-07-14 10:38:17  No: 90966  IP: [192.*.*.*]

那岐 様
ありがとうございます。一応うまくいきました。
しかし、IMEModeが英数半角に設定していて、直前の欄がひらがな設定だとしても
上記のような現象がおこるテキストとおこらないテキストがあったので少し疑問が残りますね。
なにわともあれ作成上は問題ないのでこれで行きます。

誰かこの現象の謎がわかる人がいましたらまた書き込みよろしくお願い致します。

編集 削除
KG  2005-07-19 19:24:16  No: 90967  IP: [192.*.*.*]

那岐さんがのおっしゃっているのは
「3-オフ固定」で
「8-半角英数」とは違いますよ?

編集 削除
ゆたろう  2005-07-20 07:57:28  No: 90968  IP: [192.*.*.*]

それはしっていますよ

編集 削除
那岐  2005-07-20 12:14:37  No: 90969  IP: [192.*.*.*]

>IMEModeが英数半角に設定していて、直前の欄がひらがな設定だとしても
>上記のような現象がおこるテキストとおこらないテキストがあったので

単にフォーカス移動するだけでは起こらないような気がします。
テキストエリアへの入力が発生して初めて上記の現象が起こるような
印象なんですがその辺りはどうでしょうか?
私は出来るだけ半角英数入力固定の時は「オフ固定」に設定するようにしています。

編集 削除