我在视图类定义了一个方法,条用对话框,为什么错误。
void CExamView::OnAppend()
{
// TODO: Add your command handler code here
CExamDoc *pDoc = GetDocument();
ASSERT_VALID(pDoc);
EmpDlg dlg;
TRACE("pDoc->m_nCount=%d",pDoc->m_nCount);
//dlg.DoModal();换成这也出错
if(dlg.DoModal()==IDOK){//这个地方出错,换成上面dlg.DoModal()也错,为什么?
pDoc->m_nCount++;
m_nCurrEmp=pDoc->m_nCount-1;
pDoc->m_empList[m_nCurrEmp].name=dlg.m_strName;
pDoc->m_empList[m_nCurrEmp].sex=dlg.m_nSex;
pDoc->m_empList[m_nCurrEmp].birthday=dlg.m_tBirthday;
pDoc->m_empList[m_nCurrEmp].married=dlg.m_bMarried;
pDoc->m_empList[m_nCurrEmp].dept=dlg.m_strDept;
pDoc->m_empList[m_nCurrEmp].position=dlg.m_strPosition;
pDoc->m_empList[m_nCurrEmp].salary=dlg.m_fSalary;
pDoc->SetModifiedFlag();
Invalidate();
}}
测试是上面我标的地方有错误,高手指点啊。谢谢。
void CExamView::OnAppend()
{
// TODO: Add your command handler code here
CExamDoc *pDoc = GetDocument();
ASSERT_VALID(pDoc);
EmpDlg dlg;
TRACE("pDoc->m_nCount=%d",pDoc->m_nCount);
//dlg.DoModal();换成这也出错
if(dlg.DoModal()==IDOK){//这个地方出错,换成上面dlg.DoModal()也错,为什么?
pDoc->m_nCount++;
m_nCurrEmp=pDoc->m_nCount-1;
pDoc->m_empList[m_nCurrEmp].name=dlg.m_strName;
pDoc->m_empList[m_nCurrEmp].sex=dlg.m_nSex;
pDoc->m_empList[m_nCurrEmp].birthday=dlg.m_tBirthday;
pDoc->m_empList[m_nCurrEmp].married=dlg.m_bMarried;
pDoc->m_empList[m_nCurrEmp].dept=dlg.m_strDept;
pDoc->m_empList[m_nCurrEmp].position=dlg.m_strPosition;
pDoc->m_empList[m_nCurrEmp].salary=dlg.m_fSalary;
pDoc->SetModifiedFlag();
Invalidate();
}}
测试是上面我标的地方有错误,高手指点啊。谢谢。
写个最简单的对话框试一下
用MessageBox吧
2.模态对话框必须先响应才能处理其他的,你的dlg或者Ok button有没有什么initialDlg
OnMouseMove什么相关响应来"强行"执行其他的处理呢,这样是非法的!
3.最好把你的错误贴出来,才好知道怎么回事^-^