我正在使用MFC win32项目。我有2个CMFCEditBrowseCtrl控件的对话框。用户在这些控件上指定文件后,如何从这些控件获取文件路径?如何从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);
}
因此你对获取文本思想而对话没有关闭,但是是正确的。请更新您的答案,因此我可以将其标记为解决方案。
文档的GetWindowText函数:http://msdn.microsoft.com/en-us/library /db50wx7h(v=vs.100).aspx –