テキストボックスでEnterとtabの操作を同一視するには?

解決


にょも  2004-08-26 16:23:11  No: 115898  IP: [192.*.*.*]

かなり初心的な質問かもしれないのですが、質問させてもらいます。

コントロール配列のテキストボックス(0〜9)があり、
Enterキーを押した時にTabIndex通りにフォーカスを移したいのですが、
いまいちピンとくる処理を思いつきません。
なお、コントロール配列のIndexとTabIndexは全く合っていません。
コントロールのIndexを変更することは、コードに大幅な修正が必要なため
できるだけ避けたいと思いまして…

Enterキー押下時にkeyAsciiを変更すればいいと思っていたのですが、

Private Sub txtbox_KeyPress(Index As Integer, KeyAscii As Integer)
    If KeyAscii = vbKeyReturn Then
        KeyAscii = vbKeyTab        
    End If
End Sub

だけではダメでした。
これだともう一回イベント起こさないといけないのかなぁ・・・?

どなたかお勧めの処理などご存知でしたら、アドバイスしていただけないでしょうか。
よろしくお願いします。

編集 削除
nanashi  2004-08-26 17:06:31  No: 115899  IP: [192.*.*.*]

KeyDownイベントで SendKeys "{TAB}" とか。

編集 削除
にょも  2004-08-26 17:26:15  No: 115900  IP: [192.*.*.*]

nanashiさん、ありがとうございます。
たった一行で無事解決しました
SendKeys、要チェックですね(^^;

編集 削除