我正在研究 MFC win32 项目。我有 2 个 CMFCEditBrowseCtrl 控件的对话框。用户在这些控件上指定文件后,如何从这些控件中获取文件路径?
更新:这是我的代码
SpecifyInputDialog dlg; // this is my dialog inherited from CDialogEx
dlg.DoModal();
CString strText;
dlg.inFileCtrl.GetWindowTextA(strText.GetBuffer(), 500); // inFileCtrl is CMFCEditBrowseCtrl object
结果在最后一行出现“调试断言失败”错误...
更新 2:
CString strText;
dlg.inFileCtrl.GetWindowText(strText);
同样的“调试断言失败”错误。我将尝试在未关闭对话框时获取文本。
更新 3(已解决):
我设法通过实现回调来获取路径文本
BEGIN_MESSAGE_MAP(SpecifyInputDialog, CDialogEx)
ON_EN_CHANGE(IDC_MFCEDITBROWSE1, &SpecifyInputDialog::OnEnChangeMfceditbrowse1)
END_MESSAGE_MAP()
在处理程序方法中:
void SpecifyInputDialog::OnEnChangeMfceditbrowse1()
{
this->inFileCtrl.GetWindowText(this->inFileString);
}
因此,您在对话框尚未关闭时获取文本的想法是正确的。请更新您的答案,以便我可以将其标记为解决方案。