如上图所示,点击调用CFileDialog添加图片的路径到编辑框
void CNewBujuDlg::OnAddCompTXT()
{
// TODO: Add your control notification handler code here
TCHAR szFilePath[MAX_PATH + 1];
GetModuleFileName(NULL, szFilePath, MAX_PATH); //获取当前EXE路径
(_tcsrchr(szFilePath, _T('\\')))[1] = 0; //删除文件名,只获得路径
CString strPath = szFilePath;
CFileDialog filedlg1(TRUE); //打开
filedlg1.m_ofn.lpstrInitialDir = strPath;
filedlg1.m_ofn.lpstrFilter = "txt Files(*.txt)\0*.txt\0\0";
if (filedlg1.DoModal()==IDOK)
{
strComp=filedlg1.GetPathName();
m_CtlComp.SetWindowText(strComp);
//UpdateData(FALSE); 此种方法点击一个按钮添加时会清空其他编辑框&下拉框
}
SetCurrentDirectory(strPath); //还原默认路径
}
其中SetWindowText为什么不能用UpdateData(True)的方式来替换呢?
这是因为当你有多个编辑框时,UpdateData(True)会刷新所有的编辑框的值,这样会导致其他通过此方式添加数据的编辑框被清空
因为在此次添加中,其他编辑框并未被赋值