请问MFC中如何实现通过浏览按钮将文件路径写到Edit框中?

2024-10-28 16:31:40
推荐回答(2个)
回答1:

按Ctrl+W,进入MFC ClassWizard界面,点击Member Variables,然后点击 Add Variables...,这样就能把你定义的变量与那个Edit控件相关联了,至于它具体在哪些地方自动添加了代码,自己去代码的地方搜索一下很快就能找到。
我在那个Add Variables定义的时候是关联的一个CString的类型,变量名字是m_strPath,就是下面函数里面的那个(当然你也可以关联一个Control类型),然后双击那个Button按钮,它就自动跳到了填写代码的位置,就是下面的函数位置
void CGetPathNameDlg::OnBtnPath()
{
// TODO: Add your control notification handler code here
CFileDialog dlg(TRUE, "Text Files", "*.txt",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
"text Files(*.txt)|All Files(*.*)|*.*||");
if(dlg.DoModal() != IDOK)
{
return;
}

m_strPath = dlg.GetPathName(); //取文件名全称,包括完整路径。
UpdateData(FALSE); //这个是刷新,使变量的值马上显示,具体这个函数的用法你搜一下就知道了
}

还有什么不懂的问我吧。

回答2:

CString resultFileName;
CEdit m_result;
//显示打开文件对话框
CFileDialog dlg(TRUE, "Text Files", "*.txt",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
"text Files(*.txt)|All Files(*.*)|*.*||");
if(dlg.DoModal() != IDOK)
{
return;
}

resultFileName = dlg.GetPathName(); //取文件名全称,包括完整路径。
m_result.SetWindowText(resultFileName); //显示文件完整路径