MFCの基礎 - キーボード

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動

概要

MFCにおけるキーボードに関する処理を記載する。


仮想キーの取得

仮想キーには、[Shift]キー、[Ctrl]キー、[Alt]キー等がある。

仮想キーを取得するには、GetKeyState関数を使用する。

 SHORT GetKeyState(
                     int   nVirtKey  // 仮想キーコード
 );


以下の例では、定数VK_SHIFTを使用して、[Shift]キーか押下されているかどうかを確認している。
また、[Ctrl]キーの状態を調べる場合は定数VK_CONTROL、[Alt]キーの状態を調べる場合は定数VK_MENUを使用する。

 if(GetKeyState(VK_SHIFT) < 0)
 {  // [Shift]キーが押下されている場合
 
 }
 else
 {  // [Shift]キーが押下されていない場合
 
 }


※注意
数字キーの仮想キー定数は、WinUser.hには定義されていないため、0x300x39を使用する。
同様に、英字キーの仮想キー定数は、WinUser.hには定義されていないため、0x410x5Aを使用する。(必ず大文字を使用すること)

下表に、仮想キーの定数を示す。

仮想キーの定数
定数 意味
マウス
VK_LBUTTON マウスの左ボタン
VK_RBUTTON マウスの右ボタン
VK_MBUTTON マウスの中央ボタン
VK_XBUTTON1 マウスの左サイドボタン(Windows 2000/XP以降)
VK_XBUTTON2 マウスの右サイドボタン(Windows 2000/XP以降)
シフトキー
VK_SHIFT [Shift]
VK_CONTROL [Ctrl]
VK_MENU [Alt]
VK_NUMLOCK [Num Lock]
VK_CAPITAL [Caps Lock]
VK_SCROLL [Scroll Lock]
左右シフトキー
VK_LSHIFT 左[Shift]
VK_RSHIFT 右[Shift]
VK_LCONTROL 左[Ctrl]
VK_RCONTROL 右[Ctrl]
VK_LMENU 左[Alt]
VK_RMENU 右[Alt]
IMEモード
VK_KANA IMEかなモード
VK_HANGEUL
VK_HANGUL
IMEハングル・モード
VK_JUNJA IEM
VK_FINAL IEM
VK_HANJA IEM
VK_KANJI IME漢字モード
VK_CONVERT IME変換[XFER]
VK_NONCONVERT IME無変換[NFER]
VK_ACCEPT IME
VK_MODECHANGE IMEモード変更
特殊キー
VK_CANCEL [Ctrl] + [Break]
VK_ESCAPE [Esc]
VK_TAB [Tab]
VK_BACK [Back Space]
VK_SPACE スペース
VK_RETURN [Enter]
VK_CLEAR [Clear]とは[Num Lock]を外した状態のテン[5]
VK_PAUSE [Pause]
VK_PRINT [Print]
VK_SELECT [Select]
VK_EXECUTE [Execute]
VK_SNAPSHOT [Print Screen]
VK_LWIN 左のSuperキー
VK_RWIN 右のSuperキー
VK_APPS Applicationsキー(アプリケーション・キー)ポップアップ・メニューが開く
VK_SLEEP スリープキー
移動キー
VK_UP [↑]
VK_DOWN [↓]
VK_LEFT [←]
VK_RIGHT [→]
VK_PRIOR [Page Up]
VK_NEXT [Page Down]
VK_HOME [Home]
VK_END [End]
VK_HELP [Help]
VK_INSERT [Insert]
VK_DELETE [Delete]
テンキー
VK_NUMPAD0 テンキーの[0]
VK_NUMPAD1 テンキーの[1]
VK_NUMPAD2 テンキーの[2]
VK_NUMPAD3 テンキーの[3]
VK_NUMPAD4 テンキーの[4]
VK_NUMPAD5 テンキーの[5]
VK_NUMPAD6 テンキーの[6]
VK_NUMPAD7 テンキーの[7]
VK_NUMPAD8 テンキーの[8]
VK_NUMPAD9 テンキーの[9]
VK_MULTIPLY テンキーの[*]
VK_ADD テンキーの[+]
VK_SEPARATOR テンキーの[,]
VK_SUBTRACT テンキーの[-]
VK_DECIMAL テンキーの[.]
VK_DIVIDE テンキーの[/]
ファンクションキー
VK_F1 [F1]
VK_F2 [F2]
VK_F3 [F3]
VK_F4 [F4]
VK_F5 [F5]
VK_F6 [F6]
VK_F7 [F7]
VK_F8 [F8]
VK_F9 [F9]
VK_F10 [F10]
VK_F11 [F11]
VK_F12 [F12]
VK_F13 [F13]
VK_F14 [F14]
VK_F15 [F15]
VK_F16 [F16]
VK_F17 [F17]
VK_F18 [F18]
VK_F19 [F19]
VK_F20 [F20]
VK_F21 [F21]
VK_F22 [F22]
VK_F23 [F23]
VK_F24 [F24]
ブラウザキー
VK_BROWSER_BACK ブラウザの[戻る]キー
VK_BROWSER_FORWARD ブラウザの[進む]キー
VK_BROWSER_REFRESH ブラウザの[更新]キー
VK_BROWSER_STOP ブラウザの[中止]キー
VK_BROWSER_SEARCH ブラウザの[検索]キー
VK_BROWSER_FAVORITES ブラウザの[お気に入り]キー
VK_BROWSER_HOME ブラウザの[起動/ホーム]キー
音量キー
VK_VOLUME_MUTE 音量ミュート・キー
VK_VOLUME_DOWN 音量ダウン・キー
VK_VOLUME_UP 音量アップ・キー
メディアキー
VK_MEDIA_NEXT_TRACK メディアの[次のトラック]キー
VK_MEDIA_PREV_TRACK メディアの[前のトラック]キー
VK_MEDIA_STOP メディアの[メディア停止]キー
VK_MEDIA_PLAY_PAUSE メディアの[メディア再生/一時停止]キー
ランチャーキー
VK_LAUNCH_MAIL ランチャの[メール起動]キー
VK_LAUNCH_MEDIA_SELECT ランチャの[メディア選択]キー
VK_LAUNCH_APP1 ランチャの[アプリケーション(1)起動]キー
VK_LAUNCH_APP2 ランチャの[アプリケーション(2)起動]キー
その他
VK_OEM_1 [:][*]※米国標準キーボードでは[;][:]キー
(様々な文字に使用されてキーボードによって異なる)
VK_OEM_2 [/][?]※様々な文字のために使用できる。
(米国標準キーボードでは[/][?])
VK_OEM_3 [@][`]※様々な文字のために使用できる。
(米国標準キーボードでは[`][~])
VK_OEM_4 [[][{]※様々な文字のために使用できる。
(米国標準キーボードでは[[][{])
VK_OEM_5 ]※様々な文字のために使用できる。
(米国標準キーボードでは[\][|])
VK_OEM_6 []][}]※様々な文字のために使用できる。
(米国標準キーボードでは[]][}])
VK_OEM_7 [^][~]※様々な文字のために使用できる。
(米国標準キーボードでは[']["])
VK_OEM_8 様々な文字のために使用できる。
VK_OEM_PLUS [;][+]
※任意の国/地域のキーボードで[+]キー
VK_OEM_MINUS [-][=]
※任意の国/地域のキーボードで[-]キー
VK_OEM_COMMA [,][<]
※任意の国/地域のキーボードで[,]キー
VK_OEM_PERIOD [.][>]
※任意の国/地域のキーボードで[.]キー