VS2010 MFC一个界面A切换出新的界面B的同时,依据A中的变量提示,修改B界面中控件的caption参数时出错:
//为了方便说明问题,我截取了出问题的部分程序如下:出问题处有注释voidC视觉传感器控制台10Dlg::OnBnClickedSwitchbtn(){//TODO:在此...
//为了方便说明问题,我截取了出问题的部分程序如下:出问题处有注释void C视觉传感器控制台10Dlg::OnBnClickedSwitchbtn(){ // TODO: 在此添加控件通知处理程序代码 CString strCaption; GetDlgItem(ModelSwitchBtn)->GetWindowText(strCaption); // OnCancel();//关闭原来的窗口 RunInterface RGBDlg; YesOrNoRunInterface YesOrNoDlg; if(strCaption == "RGB参数"||strCaption == "RGB Arguments") //RGB参数检测界面设置 { ShowWindow(SW_HIDE); //隐藏当前窗口。 RGBDlg.DoModal(); //显示另外一个窗口。 //RGBDlg.ChangeLanguage(); //法1:自己在新调出窗口的类中添加专门的修改窗口当中控件caption的函数,,,编译能通过,运行时也同样出错!!!!!!!!!!! /***********************法2:在这个触发另外一个窗口的函数中直接修改控件caption,也不行!!!!!!!!!!*****/ if(language == chinese) { RGBDlg.GetDlgItem(PercentOfPass)->SetWindowText(_T("合格率")); RGBDlg.GetDlgItem(Pass)->SetWindowText(_T("检测数")); RGBDlg.GetDlgItem(RGBValue)->SetWindowText(_T("RGB值")); RGBDlg.GetDlgItem(Score)->SetWindowText(_T("评分")); RGBDlg.GetDlgItem(RespondTime)->SetWindowText(_T("响应时间")); RGBDlg.GetDlgItem(SwitchBtnSet)->SetWindowText(_T("设置")); } else if(language == english) { RGBDlg.GetDlgItem(PercentOfPass)->SetWindowText(_T("Percent Of Pass")); RGBDlg.GetDlgItem(Pass)->SetWindowText(_T("Test Amount")); RGBDlg.GetDlgItem(RGBValue)->SetWindowText(_T("RGB Value")); RGBDlg.GetDlgItem(Score)->SetWindowText(_T("Score")); RGBDlg.GetDlgItem(RespondTime)->SetWindowText(_T("Respond Time")); RGBDlg.GetDlgItem(SwitchBtnSet)->SetWindowText(_T("Set")); } else { MessageBox(L"IDD_DIALOG1 LanguageSet error",L"error",MB_OKCANCEL); //错误提示框 } /*************************************************************************************/ }}
我要是把修改caption参数的部分注释掉,都能正常运行的,问题就处在修改caption参数的地方,应该是方式不对 展开
我要是把修改caption参数的部分注释掉,都能正常运行的,问题就处在修改caption参数的地方,应该是方式不对 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询