云南做網(wǎng)站泰安網(wǎng)站建設(shè)優(yōu)化
?很多時候,為了輸入方便,常用的做法,就是將回車鍵解釋為將輸入焦點(diǎn)移動到下一個編輯框中。就像是我的VxTerm中的快速連接輸入一樣:
VxTerm是一個國產(chǎn)化替代的SSH工具,可以從本站的資源中免費(fèi)下載并且免費(fèi)使用,同時可以從中學(xué)習(xí)和分享本人的一些代碼和經(jīng)驗(yàn):https://download.csdn.net/download/mynjer/87769610
只要輸入焦點(diǎn)不在下面兩個按鈕,按回車就當(dāng)做TAB鍵:
1、首先,先通過格式下的菜單,打開TAB順序調(diào)整:
在界面中按順序點(diǎn)各個輸入框,就能從其中顯示的序號上進(jìn)行調(diào)整。
2、在Dialog的循環(huán)消息中,添加PreTranslateMessage,加入如下代碼:
BOOL xQuickConnect::PreTranslateMessage(MSG* pMsg)
{switch (pMsg->message){case WM_KEYDOWN:if (GetFocus() == GetDlgItem(xBTNOK.GetDlgCtrlID())|| GetFocus() == GetDlgItem(xBTNOK.GetDlgCtrlID())) //判斷當(dāng)前焦點(diǎn)是否在窗體的按鈕上{ //如果在按鈕上,則按系統(tǒng)執(zhí)行所有的功能的功能return CDialog::PreTranslateMessage(pMsg);}else{ //否則,判斷按下的是否是回車if (pMsg->wParam == VK_RETURN){ //如果是回車,就忽略,并將TAB鍵放入當(dāng)前的輸入緩沖區(qū)INPUT inputs[1] = {};ZeroMemory(inputs, sizeof(inputs));inputs[0].type = INPUT_KEYBOARD;inputs[0].ki.wVk = VK_TAB;UINT uSent = SendInput(ARRAYSIZE(inputs), inputs, sizeof(INPUT));return 1;}}default:break;}return CDialog::PreTranslateMessage(pMsg);
}
成功后,就相當(dāng)于是把回車鍵當(dāng)成TAB鍵來用了。
這在一些專門的數(shù)據(jù)錄入界面中,會非常有用。