为啥 AutoSuggestion 列表不会在 MFC 中按 Enter 关闭?

Posted

技术标签:

【中文标题】为啥 AutoSuggestion 列表不会在 MFC 中按 Enter 关闭?【英文标题】:Why AutoSuggestion List does not close on Enter in MFC?为什么 AutoSuggestion 列表不会在 MFC 中按 Enter 关闭? 【发布时间】:2012-09-07 12:26:00 【问题描述】:

我有一个 MFC 对话应用程序。我在对话框中添加一个编辑控件并使用以下代码打开自动建议

SHAutoComplete(txtPath.m_hWnd, SHACF_FILESYS_DIRS);

一切正常。但是当我滚动建议列表并按 Enter 时,列表不会关闭。我怎样才能做到这一点?谢谢

【问题讨论】:

【参考方案1】:

看看here:如何在对话框的编辑控件中使用 ENTER 键

【讨论】:

【参考方案2】:

使用加速器捕捉按键并执行所需操作的最佳方式。 我将 Enter Key 行为修改为 Tab 键行为。

void CHDVRLauncherDlg::OnMyEnter() 
  
  int btnID = 0;
  CWnd * pFocus = GetFocus();  

  if(pFocus != NULL)
    btnID = pFocus->GetDlgCtrlID();

  NextInTabOrder();      


void CHDVRLauncherDlg::NextInTabOrder()
  
   CWnd* pWndNext = GetNextDlgTabItem(GetFocus());
   if(pWndNext) 
     pWndNext->SetFocus();

感谢回复。

【讨论】:

以上是关于为啥 AutoSuggestion 列表不会在 MFC 中按 Enter 关闭?的主要内容,如果未能解决你的问题,请参考以下文章

为啥这个参数列表在 Python 中不会改变?

为啥在下拉列表中加载组件时不会触发 ngmodelChange 事件?

为啥异步不会停止重新创建列表视图?

Jquery 可排序列表不会序列化,为啥?

为啥分配给空列表(例如 [] = "")不会出错?

为啥我的 React 组件列表在使用 Index 作为 key prop 时不会弄乱?