d1278 2019-08-23 13:02 采纳率: 0%
浏览 247

VC++MFC对话框付值,有值传过来,但就不显示

主对话框函数

if(b_RdSysID == 1)
{
    KillTimer(1);
    b_RdSysID = 0;


    CColDatadlg *pDlg = (CColDatadlg*)AfxGetMainWnd();
    pDlg ->ReadSysID();

}

当前对话框函数
void CColDatadlg::ReadSysID()

{
CString szStr,szTemp;//(RecBuf);
CString pPhoneNum =new CString((char)RecBuf, 22); //将byte数组转换成cstring
szStr = *pPhoneNum;
szTemp = szStr.Right(19);
szTemp = szStr.Right(19);

MessageBox(szTemp);//此处szTemp有值显示
m_EditSysID = szTemp;   //都是CString ,这里报错

// GetDlgItem(IDC_EditSystemID)->SetWindowText(szTemp);//试过没用
SetDlgItemText(IDC_EditSystemID,szTemp);//给EDIT值,EDIT仍没变化为空

UpdateData(false);

}

  • 写回答

3条回答 默认 最新

  • 铁血乳娃娃 2019-08-23 13:39
    关注

    先检查一下edit绑定的变量类型是否正确,有可能设为了int;还有就是调用SetDlgItemText(IDC_EditSystemID,szTemp); 要保证控件IDC_EditSystemID必须在 当前对话框里才能成功,否则需要在前面加上IDC_EditSystemID所在对话框的句柄。 你可以看看SetDlgItemText的返回值是否为0,如果不是则调用getlasterror来看是什么问题造成的。既然edit控件绑定了变量 你应该直接给这个变量赋值然后调用updadatate进行显示

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料