c++ - DropDownList 控件右键单击事件

标签 c++ visual-studio-2010 events mfc mouseevent

我的 MFC 对话框中有一个下拉列表控件。

enter image description here

TIn 它将是一个包含几乎所有 Windows 消息的列表。这么多,用户会发现它们更难。所以我希望当用户右键单击下拉菜单时,应打开一个窗口以提供一些搜索元素。

我不知道如何制作右键单击事件。

这是我的 .rc 文件代码:

    COMBOBOX        IDC_WM,98,7,152,30,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP

我尝试在 Visual Studio 中使用“创建事件处理程序”选项,但没有找到右键单击事件。

谁能帮帮我?

最佳答案

在组合框的父级对话框中覆盖 PreTranslateMessage。

添加以下代码:

BOOL CMyDlg::PreTranslateMessage(MSG* pMsg) 
{
  if(pMsg->message == WM_RBUTTONUP)
  {
    if(pMsg->hwnd == m_myCombobox.GetSafeHwnd())
    {
      // do advanced search here

      return TRUE;
    }
  }
  return CDialog::PreTranslateMessage(pMsg);
}

关于c++ - DropDownList 控件右键单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14263955/

相关文章:

c++ - 用于应用本地部署的 Visual C++ 2015 可再发行 DLL

c++ - 如何在 C++ 中连接函数 m_stream 中的字符串?

c++ - Borland C++ 5.02 无法调用带参数的构造函数

c# - 在应用程序启动时禁用调试器自动中断

c# - 将报告逻辑移动到 .NET 代码 : Releasing fixes?

python - 关于事件的使用

c++ - 为什么不能转发声明范围枚举?

c++ - 无法将参数 1 从 'const boost::shared_mutex' 转换为 'const boost::shared_lock<Mutex> &'

c# - 如何在 WPF 中使用 Application.Exit 事件?

javascript - 使用鼠标事件通过 Javascript 移动图像