首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

MFC对话框初始化,该怎么解决

2011-12-31 
MFC对话框初始化RT:代码如下:C/C++ codeBOOL CInquireDlg::OnInitDialog(){CDialog::OnInitDialog()//就

MFC对话框初始化
RT:
代码如下:

C/C++ code
BOOL CInquireDlg::OnInitDialog(){    CDialog::OnInitDialog();   //就是在这里有错误~~~~很纠结~~~    // TODO:  在此添加额外的初始化    //读取信息    CFile file(_T("D:\\data.txt"),CFile::modeRead);    CArchive ar(&file,CArchive::load);    ar>>Number;    CTrainInfo *Train;    for (int i=0 ; i<Number ;i++)    {        ar>>Train;        ((CComboBox *)GetDlgItem(IDC_INQUIRE_TRAINTRIP))->AddString((LPCTSTR)Train->m_strTrainTrips);//向组合框添加列车车次        m_ObArray.Add(Train);//想CObArray对象指针中添加元素    }    ar.Close();    file.Close();    return TRUE;  // return TRUE unless you set the focus to a control    // 异常: OCX 属性页应返回 FALSE}



单步跟踪到dlgcore.cpp文件中。。。。

C/C++ code
BOOL CDialog::OnInitDialog(){    // execute dialog RT_DLGINIT resource    BOOL bDlgInit;    if (m_lpDialogInit != NULL)                       //这里就有错误        bDlgInit = ExecuteDlgInit(m_lpDialogInit);    else        bDlgInit = ExecuteDlgInit(m_lpszTemplateName);    if (!bDlgInit)    {        TRACE(traceAppMsg, 0, "Warning: ExecuteDlgInit failed during dialog init.\n");//弹出这个对话框        EndDialog(-1);        return FALSE;    }......}



望指点~~~~

[解决办法]
应该是资源问题。你恢复到你正常的版本再一步步检查下资源的变动
[解决办法]
void* m_lpDialogInit; // DLGINIT resource data

CDialog中的成员

意思是 指着对话框资源 ,原因就是你的资源问题,你往资源这方面考虑

热点排行