mfc — обновление списка управления нажатием клавиши F5 переполнение стека

У меня есть элемент управления списком, который показывает список пользователей моей базы данных. У меня также есть функция, которая обновляет список управления (в настоящее время он отображается на кнопку «Обновить»).

Когда пользователь нажимает клавишу «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;
}

0

Решение

wVKey член содержит код виртуального ключа:

if(pLVKeyDow->wVKey == VK_F5) {
callRefreshFunction();
*rResult = 1;
}

По комментариям MSDN Вы должны установить возвращаемое значение в 1
если вы обрабатываете сообщение.

2

Другие решения


По вопросам рекламы [email protected]