按下 Enter 时默认按钮和终止焦点处理程序在对话框中编辑字段?

问题描述 投票:0回答:1

在将 Edit ControlKill Focus Handler

OK
按钮设置为默认按钮的情况下,我注意到当焦点位于编辑控件中时(
Want Return
未启用)并且按下 Enter 键,与单击 OK 按钮不同,不会调用
Kill Focus Handler

是否有一种聪明的方法可以让默认按钮捕获 Enter 按下,以便始终在先前的控件上产生终止焦点消息?

我猜 OK 处理程序本身可以做到这一点,但是还有其他设置或技巧可以让它工作吗?

蒂亚!!

winapi comctl32
1个回答
0
投票

这似乎适用于

OnBnClickedOk()
例程:

  // ensure focus set so kill focus called on other controls in case enter pressed
  if (GetFocus()!=&m_ctlButtonOk) {
    GotoDlgCtrl(&m_ctlButtonOk);
    PostMessage(IDOK, 0, 0);
  }

有人认为这样做有潜在问题吗?

© www.soinside.com 2019 - 2024. All rights reserved.