Tôi đang làm việc với dự án MFC win32. Tôi có hộp thoại với 2 điều khiển CMFCEditBrowseCtrl. Sau khi người dùng chỉ định tệp trên các điều khiển này, cách lấy đường dẫn tệp từ các điều khiển này?cách lấy văn bản đường dẫn từ CMFCEditBrowseCtrl?
Cập nhật: đây là mã của tôi
SpecifyInputDialog dlg; // this is my dialog inherited from CDialogEx
dlg.DoModal();
CString strText;
dlg.inFileCtrl.GetWindowTextA(strText.GetBuffer(), 500); // inFileCtrl is CMFCEditBrowseCtrl object
Kết quả trong "Debug Assertion Failed" lỗi trên dòng cuối cùng ...
Cập nhật 2:
CString strText;
dlg.inFileCtrl.GetWindowText(strText);
Các cùng một lỗi "Gỡ lỗi xác nhận không thành công". Tôi sẽ cố gắng để có được văn bản trong khi hộp thoại không dissmissed.
Cập nhật 3 (giải quyết):
tôi quản lý để có được văn bản con đường bằng cách thực hiện cuộc gọi lại
BEGIN_MESSAGE_MAP(SpecifyInputDialog, CDialogEx)
ON_EN_CHANGE(IDC_MFCEDITBROWSE1, &SpecifyInputDialog::OnEnChangeMfceditbrowse1)
END_MESSAGE_MAP()
Và trong phương pháp xử lý:
void SpecifyInputDialog::OnEnChangeMfceditbrowse1()
{
this->inFileCtrl.GetWindowText(this->inFileString);
}
Vì vậy, suy nghĩ của bạn về việc nhận văn bản trong khi hộp thoại chưa đóng nhưng vẫn đúng. Xin vui lòng cập nhật câu trả lời của bạn vì vậy tôi có thể đánh dấu nó như là giải pháp.
tài liệu cho GetWindowText: http://msdn.microsoft.com/en-us/library /db50wx7h(v=vs.100).aspx –