如何在MFC的窗口文本框中取到字符串?
CEdit* edit=(CEdit*)GetDlgItem(IDC_OUTPUT);
edit->GetWindowText(editor.inputFileName, 1000);
我这个inputFileName是std::string,但是GetWindowText需要的是LPTSTR参数,怎么办?
问题点数:20、回复次数:3Top
1 楼EnochShen(小疯子:真的好菜—知耻而后勇!)回复于 2005-01-23 20:20:57 得分 20
CString strText;
CEdit* pEdit = (CEdit*)GetDlgItem(IDC_OUTPUT);
if(pEdit != NULL)
{
pEdit->GetWindowText(strText);
}
或者
GetDlgItemText(IDC_OUTPUT,strText);Top
2 楼maowu(猫呜)回复于 2005-01-23 20:30:17 得分 0
Thank youTop
3 楼somedummy(某人马甲)回复于 2005-01-23 20:35:13 得分 0
需要使用CString,然后重新创建std::string
修改成这样(其实不需要用CEdit*,GetWindowText这个接口来自于CWnd,就算CEdit重写了虚函数,也会被调用的)
CString str;
GetDlgItem(IDE_OUTPUT)->GetWindowText(str);
std::string mystr(str);//这里其实调用了一个CString::operator const char*Top




