0

我有 MFC 应用程序,我想为其添加一个对话框以使用CMFCEditBrowseCtrl对象浏览文件位置。但我无法正确设置初始路径,例如“C:\Program Files\Path”。尝试时显示中文字母。我怎样才能做到这一点?我的代码如下:

m_pathCtrl.EnableFolderBrowseButton();
m_pathCtrl.SetWindowText(_T("C:\\Program Files\\Path"));

但它显示的是这样的 ->编码问题

如何正确显示英文路径?请指导。

4

1 回答 1

0

出现问题是因为您使用的是 ASCII 字符集,但控件需要 Unicode。MS 解释了如何CMFCEditBrowseCtrl在此处使用 ASCII 时在对话框中设置:https ://docs.microsoft.com/en-us/cpp/mfc/reference/cmfceditbrowsectrl-class?view=msvc-170 。使用对话框编辑器在对话框中插入一个编辑控件,然后在头文件中将其类型从CEdit更改为。CMFCEditBrowseCtrl

您还可以使用 SetWindowTextW 在窗口中查看正确的字符;例如,inputFilesCtrl.SetWindowTextW(L"C:\SomeDirectory");。您看到的汉字是 1 字节字符集被解释为 2 字节字符集时发生的情况。

于 2021-11-24T05:56:07.817 回答