我有一个SDI程序,视图为class CNetExamView : public CFormView
程序中有一个对话框类:class CExamEnd : public CBaseDig
void CExamEnd::OnOK()
{
CNetExamView mysubtime;
mysubtime.MyEndExam ();
}MyEndExam() 函数是对视图背景操作的代码
{
CDC* pDC;
pDC = GetDlgItem(IDC_STATIC2)->GetDC();
ShowDataEnd(pDC," " ,-45);}程序运行,就内存错误,我想是不是我单击CexamEnd对话框Ok时,此对话框还没有结束
,而执行视图中myendexam()对视图类中控件的操作,程序不能找到,而报错,但我不知道
怎么修改,请大侠指教。
程序中有一个对话框类:class CExamEnd : public CBaseDig
void CExamEnd::OnOK()
{
CNetExamView mysubtime;
mysubtime.MyEndExam ();
}MyEndExam() 函数是对视图背景操作的代码
{
CDC* pDC;
pDC = GetDlgItem(IDC_STATIC2)->GetDC();
ShowDataEnd(pDC," " ,-45);}程序运行,就内存错误,我想是不是我单击CexamEnd对话框Ok时,此对话框还没有结束
,而执行视图中myendexam()对视图类中控件的操作,程序不能找到,而报错,但我不知道
怎么修改,请大侠指教。
///////
如果对话框是动态创建的,可以在构造函数中加CView* pview参数。在视图中 C**Dlg *pdlg = new C**Dlg(this);对话框中用这个指针调用view中的函数。要强制转换成你的视图类型CNetExamView*。
CExamEnd dlg;
if (dlg.DoModal() == IDOK)
{
MyEndExam ();
}