在将 Edit Control 与 Kill Focus Handler 和
OK
按钮设置为默认按钮的情况下,我注意到当焦点位于编辑控件中时(Want Return
未启用)并且按下 Enter 键,与单击 OK
按钮不同,不会调用 Kill Focus Handler。
是否有一种聪明的方法可以让默认按钮捕获 Enter 按下,以便始终在先前的控件上产生终止焦点消息?
我猜 OK 处理程序本身可以做到这一点,但是还有其他设置或技巧可以让它工作吗?
蒂亚!!
这似乎适用于
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);
}
有人认为这样做有潜在问题吗?