DropDownList控件右键单击事件

时间:2013-01-10 17:39:08

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

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

enter image description here

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

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

这是我的.rc文件代码:

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

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

有人可以帮我吗?

1 个答案:

答案 0 :(得分: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);
}