按扭获得了焦点(setfocus())后,然后按回车,为什么不能触发按键事件,却把dialog关掉了。 要怎么才能用“回车”触发一个按键事件啊?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 重载CDialog::OnOK另,你可以按控件触发获得焦点的按钮。或者默认默认按钮。 一个例子:void CXFInsert_Dialog::OnOK() { // TODO: Add extra validation here//CDialog::OnOK();注释掉默认处理,这句最主要//处理回车键 CWnd *pCurWnd; pCurWnd=GetFocus(); if(*pCurWnd==m_CButton_Insert) { OnButtonInsert(); ::SetFocus(m_CEdit10); } else if(*pCurWnd==m_CButton_Ok) { m_Database.Close(); CDialog::OnOK(); } else { pCurWnd=GetNextDlgTabItem(pCurWnd); ::SetFocus(*pCurWnd); ((CEdit*)pCurWnd)->SetSel(0,-1); }} 重载CDialog::OnOK()在它里面些你所要运行的代码 以上是个方法也可以用重载OnPretranslate() 如何让Windows 2008 服务程序启动另一个进程windows media player [IOCP]投递WSASend后的收包顺序问题? 关于窗口的淡入效果 有关于AppendMenu的问题~在线等。。。急。。。 vs2005使用Carlos Antollini写的ado.cpp问题 passthru驱动调试笔记 多视图的序列化问题 急救! COM连接点客户端接受器的实现问题 祝大家新年快乐,发大财! 请问如何在我的程序中编译asm文件? CRichEditView在析构时出错,请各位大侠帮忙
另,你可以按控件触发获得焦点的按钮。
或者默认默认按钮。
void CXFInsert_Dialog::OnOK()
{
// TODO: Add extra validation here
//CDialog::OnOK();注释掉默认处理,这句最主要//处理回车键
CWnd *pCurWnd;
pCurWnd=GetFocus();
if(*pCurWnd==m_CButton_Insert)
{
OnButtonInsert();
::SetFocus(m_CEdit10);
}
else if(*pCurWnd==m_CButton_Ok)
{
m_Database.Close();
CDialog::OnOK();
}
else
{ pCurWnd=GetNextDlgTabItem(pCurWnd);
::SetFocus(*pCurWnd);
((CEdit*)pCurWnd)->SetSel(0,-1);
}
}
在它里面些你所要运行的代码
也可以用重载OnPretranslate()