// SaveConfigDlg.cpp : 实现文件 // #include "stdafx.h" #include "hugaotwainds.h" #include "SaveConfigDlg.h" #include "afxdialogex.h" //#include "UI_INI.h" #include "TwainUIDlg.h" //#include "JsonConfig.h" #include // SaveConfigDlg 对话框 IMPLEMENT_DYNAMIC(SaveConfigDlg, CDialog) //extern CUI_INI* m_pUI_INI; SaveConfigDlg::SaveConfigDlg(CWnd* pParent /*=NULL*/) : CDialog(IDD_DIALOGSAVECONFIG, pParent) { } SaveConfigDlg::~SaveConfigDlg() { } void SaveConfigDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(SaveConfigDlg, CDialog) ON_BN_CLICKED(IDOK, &SaveConfigDlg::OnBnClickedOk) END_MESSAGE_MAP() // SaveConfigDlg 消息处理程序 void SaveConfigDlg::OnBnClickedOk() { TwainUIDlg* m_Parent=(TwainUIDlg*)GetParent(); CONFIGPARAMS citem={0}; m_Parent->UpDateScanParam(&citem,false); CString m_sName; GetDlgItemTextA(IDC_EDITSAVENAME,m_sName); TCHAR szIniFile[MAX_PATH] = { 0 }; INT length=m_sName.GetLength(); //INT length=10; if (length>0&&length<50) { char invalid_FileChars[8]={'/','\\',':','*',' ?','<', '>','|'}; for(short j=0;j<8;j++) { m_sName.Remove(invalid_FileChars[j]); } if (m_sName.IsEmpty()) { MessageBox(_TEXT("请避免输入非法字符('/','\\',':','*',' ?','<', '>','|')!"),_TEXT("提示"),MB_OK|MB_ICONWARNING ); return; } SHGetSpecialFolderPath(NULL, szIniFile, CSIDL_LOCAL_APPDATA, TRUE); _tcscat(szIniFile,HUAGAO_SCAN); _tcscat(szIniFile, TWAIN_DATA_PATH); citem.Caption=m_sName; _tcscat(szIniFile,(_TEXT("/")+m_sName+_TEXT(".json"))); std::string s_savePath(szIniFile); citem.SavePath=s_savePath; //((CListBox*)(m_Parent->GetDlgItem(IDC_LSTCONFIG)))->AddString(m_sName); m_sName.ReleaseBuffer(); JsonConfig cfg; cfg.WriteToJson(&citem,s_savePath,true); m_Parent->UpdateListConfig(); CDialog::OnOK(); } else { if (length==0) { MessageBox(_TEXT("请输入保存项名称"),_TEXT("提示")); } else { MessageBox(_TEXT("最多只允许输入50个字符,请重新输入"),_TEXT("提示")); } } }