+ -
当前位置:首页 → 问答吧 → 又是组合框,为什么显示组合框内容时会出错

又是组合框,为什么显示组合框内容时会出错

时间:2011-12-22

来源:互联网

C/C++ code


void edgePara::OnSelchangeCombo1() 
{
    CStatic *lbl1=(CStatic *)GetDlgItem(IDC_STATIC);
    lbl1->SetWindowText("dfds");  //<<<这一段是我测试的,下面的程序还没执行,执行到这里就出错
    return;  //不执行下面程序
    CString txt;
    m_EdgeColor.GetLBText(m_EdgeColor.GetCurSel(),txt);
    lbl1->SetWindowText(txt);  //如果执行的话,到这里就出错
    //MessageBox(txt,"选择内容"); //但不使用上面显示,而是用这个,竟然不出错,运行也正常。
}



---------------------------
FVX_Test1.exe - 应用程序错误
---------------------------
"0x5f438ddb" 指令引用的 "0x00000020" 内存。该内存不能为 "read"。


要终止程序,请单击“确定”。
要调试程序,请单击“取消”。
---------------------------
确定 取消  
---------------------------

作者: comszmz   发布时间: 2011-12-22

IDC_STATIC 是取不到的控件ID改名比如 IDC_STATIC1

作者: fairyprince   发布时间: 2011-12-22

引用 1 楼 fairyprince 的回复:

IDC_STATIC 是取不到的控件ID改名比如 IDC_STATIC1


果然,但为什么,我下面用 MessageBox的竟然可以呢?

  lbl1->SetWindowText(txt); //如果执行的话,到这里就出错
  //MessageBox(txt,"选择内容"); //但不使用上面显示,而是用这个,竟然不出错,运行也正常。

作者: comszmz   发布时间: 2011-12-22

虽然不出错,估计txt的内容也是非预期的。

作者: gold_water   发布时间: 2011-12-22