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

投稿日: 2004/04/13(Tue) 17:26
投稿者GOD
Eメール
URL
タイトルRe: Tab移動

> Enterキーを押したときに、フォーカスを次のTabIndexのコントロールに飛ばしたいのですが、
> 全てのコントロールのKeyPressに処理を書くしか無いでしょうか?
>
> FormのKeyPreviewをTrueにして、
> FormのKeyPressでEnterキーをとって、
>
FormのKeyPressでEnterキーが取得可能なコントロールという条件なら
Private Sub Form_KeyPress(KeyAscii As Integer)
    Dim CtrlObj As Object

    If KeyAscii = vbKeyReturn Then
        Set CtrlObj = Me.ActiveControl
        CtrlObj.Enabled = False
        CtrlObj.Enabled = True
    End If
End Sub
↑のような感じですね。
ただ、ボタン系統のコントロールはEnterを押下してもボタン押下イベントが働いてEnter取得
できないと思いますけど・・・
サブクラス化すれば処理できるようになるのかな?(←未確認)


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

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

- Web Forum -