如何去掉回车的影响,不让程序退出,而让焦点指向另外的控件 关注知道了麻烦告诉我一声:[email protected] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 重载OnOK(),函数中什么都不做,就可以去掉回车的影响。控制焦点指向用GotoDlgCtrl,你可以查一下MSDN中的用法。 说详细点:在重载的函数中这样写:if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) { m_obj.SetFocus(); return;} 同意wangzhen_bupt(王真) !!!!!!!! 重载PreTranslateMessageif(pMsg->message==WM_KEYDOWN){ CWnd* pWnd = CWnd::FromHandle(pMsg->hwnd); int CtrlID=pWnd->GetDlgCtrlID(); if(pMsg->wParam==13) { if(CtrlID==IDC_CURRENT_ID) { GetDlgItem(IDC_NEXT_ID)->SetFocus(); } else if(CtrlID==IDC_NEXT_ID) { GetDlgItem(IDC_NEXT_NEXT_ID)->SetFocus(); } return TRUE; }} 对话框上有OK时,重载OnOK(),将CDialog::OnOK()删掉同理 CDialog::OnCancel();删掉 同意maptrix()!!!!!!! 用不着重载PreTranslateMessage,重载OnOk,OnCancel就足够了. IDC_CURRENT_ID,IDC_NEXT_ID,IDC_NEXT_NEXT_ID只是一个示例,真正的应该是你窗体里的某个控件,我是想说明是你想顺序获得焦点控件的ID,上面还有一些提出的别的方法,只能解决不能退出的问题,但是不能顺序的让你的控件获得焦点。 重载OnOK(),函数中什么都不做,就可以去掉回车的影响。 楼上说的对,重载不一定要有IDOK按钮的。好好看一下C++吧 考试前来散散分,尽管没多少分可散。。。 求一本COM的书籍 兼容dc显示透明bmp的问题 发送SB_GETTEXT没取得状态上文本 ** 高手请进:VC6下两台由双绞线连接的PC怎么做最最简单的通讯? dll隐式调用其类的函数时,对象传递值的问题 CRecordset 的应用----数据类型转换问题 ADO内存占用情况? 怎样得到126域名指向IP地址 cview里的precreatewindow和cframewnd的precreatewindow应该调用那个? --------不知道CSDN有没有把侯捷老师的演讲录音整理好?-------(SeaFish) 用友怎么样?
if(pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN) {
m_obj.SetFocus();
return;
}
if(pMsg->message==WM_KEYDOWN)
{
CWnd* pWnd = CWnd::FromHandle(pMsg->hwnd);
int CtrlID=pWnd->GetDlgCtrlID(); if(pMsg->wParam==13)
{
if(CtrlID==IDC_CURRENT_ID)
{
GetDlgItem(IDC_NEXT_ID)->SetFocus();
}
else if(CtrlID==IDC_NEXT_ID)
{
GetDlgItem(IDC_NEXT_NEXT_ID)->SetFocus();
}
return TRUE;
}
}
同理 CDialog::OnCancel();删掉