У меня есть элемент управления списком, который показывает список пользователей моей базы данных. У меня также есть функция, которая обновляет список управления (в настоящее время он отображается на кнопку «Обновить»).
Когда пользователь нажимает клавишу «F5», я хочу вызвать функцию обновления.
Я нашел событие LVN_KEYDOWN (Указывает, что клавиша была нажата). После некоторых исследований я обнаружил, что виртуальный код клавиши для «F5» VK_F5
, У меня проблемы с соединением этих двух элементов. Как я могу убедиться, что (в моем случае) нажата клавиша «F5»? Я пробовал несколько вещей, похожих на код ниже:
void ListOption::OnLvnKeydownList1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMLVKEYDOWN pLVKeyDow = reinterpret_cast<LPNMLVKEYDOWN>(pNMHDR);
// TODO: Add your control notification handler code here
if(pLVKeyDow == (LPNMLVKEYDOWN)VK_F5)
callRefreshFunction();
*pResult = 0;
}
wVKey
член содержит код виртуального ключа:
if(pLVKeyDow->wVKey == VK_F5) {
callRefreshFunction();
*rResult = 1;
}
По комментариям MSDN Вы должны установить возвращаемое значение в 1
если вы обрабатываете сообщение.