void CRSANetConnDlg::OnCbnSelchangeComboFuncid2() { // TODO: 在此添加控件通知处理程序代码 // 保存参数 CString strFileDir = GetAppPath(); CConfig* pConfig = CConfig::GetInstance(); CString strConfigFile = strFileDir + "\\" + CONFIG_FILE; CString cstrUserNo = _T(""); GetDlgItemText(IDC_COMBO_FUNCID2, cstrUserNo); CString cstrJson = _T(""); GetDlgItemText(IDC_EDIT_BODY, cstrJson); Json::Reader reader; Json::Value valueReqParam; Json::FastWriter writer; reader.parse(cstrJson.GetBuffer(), valueReqParam); CString strStyleReqParam = writer.write(valueReqParam).c_str(); pConfig->WriteString((char*)(LPCTSTR)strConfigFile, "RequestParam", cstrUserNo.GetBuffer(), (char*)(LPCTSTR)strStyleReqParam); int nCurSel = m_comboFunNo.GetCurSel(); m_comboFunNo.GetLBText(nCurSel, cstrUserNo); CString strReqParam = pConfig->GetString((char*)(LPCTSTR)strConfigFile, "RequestParam", cstrUserNo.GetBuffer()); } 编写以上代码后,输入用户账号ID,不能将请求参数显示在编辑框中,怎么解决?
时间: 2024-04-18 11:32:41 浏览: 143
根据代码的描述,这段代码是处理当用户在另一个下拉列表框中选择了一个选项时的事件。在这个函数中,首先获取配置文件路径和用户账号ID,然后获取编辑框中的JSON字符串,并将其保存到配置文件中。接着从配置文件中获取选定用户账号ID对应的请求参数。
根据你的描述,无法将请求参数显示在编辑框中,可能有以下几个原因导致:
1. 检查控件ID是否正确:确认 `IDC_EDIT_BODY` 是否指向正确的编辑框控件。
2. 检查变量名是否正确:确认 `m_strReqParam` 变量是否正确地保存了请求参数。
3. 检查编辑框是否可以接收文本:确认编辑框是否为可编辑状态,可以尝试设置 `GetDlgItem(IDC_EDIT_BODY)->SetReadOnly(FALSE)` 来确保编辑框可编辑。
4. 检查是否正确设置了编辑框的文本:可以尝试使用 `SetWindowText()` 函数来设置编辑框的文本,例如 `GetDlgItem(IDC_EDIT_BODY)->SetWindowText(strReqParam)`。
如果仍然无法解决问题,请提供更多相关代码以便更好地理解和排查问题。
相关问题
void CRSANetConnDlg::OnCbnSelchangeComboFuncid() { // TODO: 在此添加控件通知处理程序代码 // 保存参数 CString strFileDir = GetAppPath(); CConfig *pConfig = CConfig::GetInstance(); CString strConfigFile = strFileDir + "\\" + CONFIG_FILE; CString cstrFunNo = _T(""); GetDlgItemText(IDC_COMBO_FUNCID,cstrFunNo); CString cstrJson = _T(""); GetDlgItemText(IDC_EDIT_BODY, cstrJson); Json::Reader reader; Json::Value valueReqParam; Json::FastWriter writer; reader.parse(cstrJson.GetBuffer(), valueReqParam); CString strStyleReqParam = writer.write(valueReqParam).c_str(); pConfig->WriteString((char *)(LPCTSTR)strConfigFile,"RequestParam",cstrFunNo.GetBuffer(),(char *)(LPCTSTR)strStyleReqParam); int nCurSel = m_comboFunNo.GetCurSel(); m_comboFunNo.GetLBText(nCurSel,cstrFunNo); CString strReqParam = pConfig->GetString((char *)(LPCTSTR)strConfigFile,"RequestParam",cstrFunNo.GetBuffer()); //设置请求参数 m_strReqParam = strReqParam; if (m_bReqJsonStyle) { Json::Reader reader; Json::Value valueReqParam; reader.parse(strReqParam.GetBuffer(), valueReqParam); CString strStyleReqParam = valueReqParam.toStyledString().c_str(); strStyleReqParam.Replace("\n", "\r\n"); GetDlgItem(IDC_EDIT_BODY)->SetWindowText(strStyleReqParam); } else { GetDlgItem(IDC_EDIT_BODY)->SetWindowText(m_strReqParam); } }
这段代码是一个MFC对话框类的成员函数,处理当用户选择了一个下拉列表框中的选项时的事件。在这个函数中,首先获取配置文件路径和函数编号,然后获取编辑框中的JSON字符串,并将其保存到配置文件中。接着从配置文件中获取选定函数编号对应的请求参数,并将其设置到类成员变量中。最后根据是否使用JSON样式,将请求参数显示在编辑框中。
值得注意的是,代码中使用了CConfig类来读写配置文件,并使用了Jsoncpp库来解析和序列化JSON数据。
阅读全文