如何将CEdit类型的数据转换为CString类型数据以及如何在消息框中显示它?

时间:2015-07-22 11:07:41

标签: c++ visual-studio-2010 visual-studio mfc

我想知道如何在消息框中显示来自CEdit(由用户输入)的数据。

我想接受来自用户的输入并需要在messagebox中显示它。简单但我无法将CEdit类型(由用户输入)转换为CString类型(我必须在Messagebox中显示)。< / p>

这是我的代码段

In .h file
    CEdit* pEdit = new CEdit;
    CString text;

In .cpp file
    pEdit.Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
                CRect(150, 10, 500, 50), this, 1);
    pEdit.GetWindowText(text);

3 个答案:

答案 0 :(得分:2)

因为您已经以编程方式创建了Textbox。

修改
在头文件

中声明CEdit
CEdit* pEdit;

将此代码写入OnInitdialog()函数

pEdit = new CEdit; 
pEdit->Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,CRect(150, 10, 500, 50), this, 1); 

现在点击任何按钮即可显示消息框。例如

OnButtonOk()
{
    CString strText;
    pEdit->GetWindowText(strText);
    AfxMessageBox(strText);
}

答案 1 :(得分:0)

有两种方法可以做到这一点。

您可以将编辑控件绑定到CString变量。当你想获得文本数据时,调用UpdateData(TRUE)并且CString变量存储文本搅拌数据。

它也可以如下工作:

CString textStr;
CEdit* pEdit = new CEdit;
//call when you want get text
pEdit ->GetWindowText(textStr);

答案 2 :(得分:0)

documentation for CEdit明确指出:

  

要从CEdit对象设置和检索文本,请使用CWnd成员函数SetWindowText和GetWindowText,它们设置或获取编辑控件的全部内容,即使它是多行控件。

因此,您创建了CEdit对象,

CString strOut;
pEdit->GetWindowText(strOut);

CWnd::GetWindowText