使用 F5 键刷新列表控件 C++
Refreshing List Control with F5 key press C++
我有一个显示我的数据库用户列表的列表控件。我还有一个刷新列表控件的功能(目前它映射到一个 "Refresh" 按钮)。
当用户按下"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 的评论,您必须将 return 值设置为 1
如果您处理消息。
我有一个显示我的数据库用户列表的列表控件。我还有一个刷新列表控件的功能(目前它映射到一个 "Refresh" 按钮)。
当用户按下"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 的评论,您必须将 return 值设置为 1 如果您处理消息。