0

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

在此处输入图像描述

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

我不确切知道如何进行右键单击事件。

这是我的 .rc 文件代码:

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

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

任何人都可以帮助我吗?

4

1 回答 1

1

在作为组合框父级的对话框中覆盖 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);
}
于 2013-01-10T21:29:27.997 回答