我的MFC对话框中有一个下拉列表控件。
这将是一个包含几乎所有Windows消息的列表。如此多,用户会发现它们更难。所以我希望当用户右键单击下拉列表时,应该打开一个窗口以提供一些搜索元素。
我不确切知道如何进行右击事件。
这是我的.rc文件代码:
COMBOBOX IDC_WM,98,7,152,30,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP
我尝试在Visual Studio中使用“创建事件处理程序”ption,但是我没有找到右键单击事件。
有人可以帮我吗?
答案 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);
}