關于如何在VC++程序中自定義熱鍵(或稱組合鍵)及其響應,我在之前的博客中已經作了詳細的介紹,那么當遇到的是單個鍵盤按鍵的響應時,我們又該怎么解決呢?這時,我們可以采用afx_msg BOOL PreTranslateMessage (MSG* pMsg) 這個函數很方便的實現。
但是在此之前,我們必須首先了解鍵盤按鍵對應的十進制ASCII碼值,下面這張表是每個鍵盤按鍵對應的十進制ASCII碼值表,會給我們帶來很大的方便:
<table border="1" cellspacing="0" cellpadding="0"><tbody><tr><td valign="top"><p align="center"><span style="font-size:18px">Esc</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">27</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">#3</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">51</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">>.</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">190</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">M</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">77</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">←</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">37</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">F1</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">112</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">$4</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">52</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">?/</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">191</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">N</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">78</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">↑</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">38</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">F2</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">113</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">%5</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">53</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">Ctrl</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">17</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">O</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">79</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">→</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">39</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">F3</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">114</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">^6</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">54</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">左徽標</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">91</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">P</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">80</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">↓</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">40</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">F4</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">115</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">&7</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">55</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">右徽標</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">92</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">Q</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">81</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">Num Lock</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">144</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">F5</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">116</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">*8</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">56</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">Alt</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">18</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">R</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">82</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">/</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">111</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">F6</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">117</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">(9</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">57</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">Space</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">32</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">S</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">83</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">*</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">106</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">F7</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">118</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">_-</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">189</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">鼠標右快捷鍵</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">93</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">T</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">84</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">-</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">109</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">F8</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">119</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">+=</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">187</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">A</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">65</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">U</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">85</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">+</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">107</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">F9</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">120</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">Backspace</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">8</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">B</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">66</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">V</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">86</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">.</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">110</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">F10</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">121</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">Tab</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">9</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">C</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">67</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">W</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">87</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">0</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">96</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">F11</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">122</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">{[</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">219</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">D</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">68</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">X</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">88</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">1</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">97</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">F12</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">123</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">}]</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">221</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">E</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">69</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">Y</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">89</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">2</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">98</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">PrScrn SysRq</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">44</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">|\</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">220</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">F</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">70</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">Z</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">90</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">3</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">99</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">Scroll Lock</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">145</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">Caps Lock</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">20</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">G</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">71</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">Insert</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">45</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">4</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">100</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">Pause Break</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">19</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">:;</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">186</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">H</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">72</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">Home</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">36</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">5</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">101</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">~`</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">192</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">“’</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">222</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">I</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">73</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">PgUp</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">33</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">6</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">102</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">)0</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">48</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">Enter</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">13</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">J</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">74</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">Delete</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">46</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">7</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">103</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">!1</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">49</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">Shift</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">16</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">K</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">75</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">End</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">35</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">8</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">104</span></p></td></tr><tr><td valign="top"><p align="center"><span style="font-size:18px">@2</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">50</span></p></td><td valign="top"><p align="center"><span style="font-size:18px"><,</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">188</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">L</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">76</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">PgDn</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">34</span></p></td><td valign="top" style="background:#D9D9D9"><p align="center"><span style="font-size:18px">9</span></p></td><td valign="top"><p align="center"><span style="font-size:18px">105</span></p></td></tr></tbody></table>
注:表中的陰影部分為鍵盤上的數字小鍵盤分區。
下面結合實例來詳細說明(完整實例可在我的CSDN資源中下載:[http://download.csdn.net/detail/margin1988/6648153](http://download.csdn.net/detail/margin1988/6648153)):
(1)在對話框.h文件中添加函數聲明:
~~~
afx_msg BOOL PreTranslateMessage(MSG* pMsg);
~~~
(2)在對話框的.cpp文件中實現該函數功能:
~~~
BOOL CPoint23Dlg::PreTranslateMessage(MSG* pMsg)
{
if(pMsg->message == WM_KEYDOWN)
{
switch (pMsg->wParam)
{
case 65:
MessageBox("您按了“A鍵”");
break;
//其它按鍵響應
}
return true;//不再響應其它按鍵(很重要)
}
return CDialog::PreTranslateMessage(pMsg);
}
~~~
- 前言
- VC++中自定義熱鍵及響應
- CFileDialog文件對話框
- VC++中客戶區保存為BMP圖片
- VC++讀、寫注冊表
- VC++播放音頻文件和音頻數據的方法
- VC++調用Matlab編寫的DLL(混合編程)
- VC++中文件讀、寫和其他相關操作匯總
- VC++獲取系統當前時間
- VC++按鈕控件字體設置
- VC++軟件界面風格簡單美化
- VC++中一些常用的數據類型之間的相互轉化
- VC++中截取字符串的方法
- VC++中vector矢量的使用方法及隨機相關
- VC++中結構體的定義及使用
- VC++中List Control控件的使用方法介紹
- VC++中窗口過程函數及其消息發送、響應機制介紹
- VC++中Ribbon編程架構及SDI架構多視圖切換介紹
- 串口通信基礎知識及VC++實現
- VC++中單個鍵盤按鍵的響應
- VC++中的計時器及多媒體高精度計時器
- VC++編寫DLL導出函數及其調用方法
- VC++對話框(CDialog)的全屏顯示及控件居中顯示
- VC++對話框(CDialog)添加背景圖片
- VC++圖片控件(Picture Control)顯示資源位圖(BMP)、文件位圖(BMP)、其它格式文件圖片(JPG\PNG\BMP)的方法
- VC++對Access數據庫的操作(查詢、插入、更新、刪除等)