在一个视图类点击一个菜单,弹出一个对话框,对话框有两个IDC_STATIC的静态文本框IDC_STATIC_KM,IDC_STATIC_M
然后将试图类的2个成员变量分别显示在IDC_STATIC_KM,IDC_STATIC_M这2个文本框内
void CAPPView::ONclick()
{
CXXXDialog *dlg=new CXXXDialog;
dlg->SetDlgItemText(IDC_STATIC_KM,Tem_KM);//<------------------跟踪到此出错
dlg->SetDlgItemText(IDC_STATIC_M,Tem_M);
dlg->DoModal();}
编译没有问题,执行出错。这是什么原因呢,我下面这样实现就没有问题,想追根溯源以求更好的学习
void CAPPView::ONclick()
{
CXXXDialog *dlg=new CXXXDialog;
dlg->m_STATIC_KM=Tem_KM;//<------------------Tem_KM,Tem_M为IDC_STATIC_KM,IDC_STATIC_M对应的数值变量
dlg->m_STATIC_M=Tem_M;
dlg->DoModal();}
是什么原因呢,请高手根据MFC或者windows应用程序的运行机制帮忙解答一下。
谢谢了。
然后将试图类的2个成员变量分别显示在IDC_STATIC_KM,IDC_STATIC_M这2个文本框内
void CAPPView::ONclick()
{
CXXXDialog *dlg=new CXXXDialog;
dlg->SetDlgItemText(IDC_STATIC_KM,Tem_KM);//<------------------跟踪到此出错
dlg->SetDlgItemText(IDC_STATIC_M,Tem_M);
dlg->DoModal();}
编译没有问题,执行出错。这是什么原因呢,我下面这样实现就没有问题,想追根溯源以求更好的学习
void CAPPView::ONclick()
{
CXXXDialog *dlg=new CXXXDialog;
dlg->m_STATIC_KM=Tem_KM;//<------------------Tem_KM,Tem_M为IDC_STATIC_KM,IDC_STATIC_M对应的数值变量
dlg->m_STATIC_M=Tem_M;
dlg->DoModal();}
是什么原因呢,请高手根据MFC或者windows应用程序的运行机制帮忙解答一下。
谢谢了。
dlg->SetDlgItemText(IDC_STATIC_KM,Tem_KM);//SetDlgItemText之前会 ASSERT(::IsWindow(m_hWnd))
CXXXDialog *dlg=new CXXXDialog;//CXXXDialog还没有建立
dlg->Create(自已加参数.)
dlg->SetDlgItemText(IDC_STATIC_KM,Tem_KM
您说Create怎么了呢,请继续,讲明了一点。
那我的第二种
void CAPPView::ONclick()
{
CXXXDialog *dlg=new CXXXDialog;
dlg->m_STATIC_KM=Tem_KM;// <------------------Tem_KM,Tem_M为IDC_STATIC_KM,IDC_STATIC_M对应的数值变量
dlg->m_STATIC_M=Tem_M;
dlg->DoModal(); }
这个为什么就能够成功呢,请高手深度解析一下,虽然知道怎么做,知道到底还是进步会快些。
void CAPPView::ONclick()
{
CXXXDialog *dlg=new CXXXDialog;
dlg->m_STATIC_KM=Tem_KM;// <------------------Tem_KM,Tem_M为IDC_STATIC_KM,IDC_STATIC_M对应的数值变量
dlg->m_STATIC_M=Tem_M;
dlg->DoModal(); }
这个为什么就能够成功呢,请高手解析一下
那用第二种方法成功的弹出对话框,也显示了相应的值,也是从前到后、也没有Create这个对话框它是在什么时候被创建的呢,而第一种方法为什么就不行。
比较模糊的知道了些,但是还有点就是,我用void CAPPView::ONclick()
{
CXXXDialog *dlg=new CXXXDialog;
dlg->SetDlgItemText(IDC_STATIC_KM,Tem_KM);// <------------------跟踪到此出错
dlg->SetDlgItemText(IDC_STATIC_M,Tem_M);
dlg->DoModal(); }操作也有dlg->DoModal(); 啊