投稿数 - 112, コメント - 207, トラックバック - 17

ファンクションキーF10の罠

ファンクションキーを実装する機会があったので、ProcessCmdKeyをオーバーライド
して実装しようとしたけど、F10を拾わない。。。な~ぜ。

Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
    Const WM_KEYDOWN As Integer = &H100
    If (msg.Msg = WM_KEYDOWN) Then
        If (keyData >= Keys.F1 And keyData <= Keys.F12) Then
            'ここで対応する処理
            Return True
        End If
    End If
    Return MyBase.ProcessCmdKey(msg, keyData)
End Function

あっ、F10ってWindowsのショートカットキーか。。。ヽ(ー_ー )ノ
ということで、以下のように修正してめでたくF10を拾うことができた。

Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
    Const WM_KEYDOWN As Integer = &H100
    Const WM_SYSKEYDOWN As Integer = &H104
    If ((msg.Msg = WM_KEYDOWN) Or (msg.Msg = WM_SYSKEYDOWN)) Then
        If (keyData >= Keys.F1 And keyData <= Keys.F12) Then
            'ここで対応する処理
            Return True
        End If
    End If
    Return MyBase.ProcessCmdKey(msg, keyData)
End Function

いまさら・・・のネタだよね・・・

投稿日時 : 2005年4月25日 22:59

フィードバック

# re: ファンクションキーF10の罠

F10、ダイアログキーだもの。
捕捉しちゃだめよん。
2005/05/10 15:46 | じゃんぬねっと

# re: ファンクションキーF10の罠

確かに。。。
だけど、コンバートしているシステムがF1からF12を全て使っている。。。orz
2005/05/10 17:18 | うなまな

コメントの投稿

タイトル  
名前  
URL
コメント