【问题标题】:Refreshing List Control with F5 key press C++使用 F5 键刷新列表控件 C++
【发布时间】:2015-05-08 13:50:34
【问题描述】:

我有一个显示我的数据库用户列表的列表控件。我还有一个刷新列表控件的功能(目前它被映射到“刷新”按钮)。

当用户按下“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;
}

【问题讨论】:

    标签: c++ mfc key-events listcontrol


    【解决方案1】:

    wVKey 成员包含虚拟键代码:

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

    根据MSDN 上的 cmets,您必须将返回值设置为 1 如果您处理消息。

    【讨论】:

      猜你喜欢
      • 2013-12-04
      • 2022-11-07
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-25
      • 2021-10-05
      相关资源
      最近更新 更多