我有一个列表控件,显示我的数据库用户的列表。我还具有刷新列表控件的功能(当前映射到"刷新"按钮)。
当用户按" 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如果您处理消息。