MFC 成员变量类型

MFC member variable type

本文关键字:类型 变量 成员 MFC      更新时间:2023-10-16

>我有包含"编辑文本"控件的 MFC 对话框。使用表单向导,我为此控件生成了m_edit变量。变量类型为 CEdit。如何从m_edit获取字符串值?

我在互联网上的一些样本中发现成员变量可能是 CString 类型,对我来说看起来更方便。不幸的是,表单向导中未启用变量选择类型,它被设置为 CEdit。如何使m_edit成为CString类型?

我需要使用此成员变量从"编辑文本"控件获取信息

可以在向导期间将其选为 CString 类型,但应谨慎选择类型控件/值,如果希望它是 CString,则应选择"值类型"。

DoDataExchange函数中生成了什么?我想是

DDX_Control(pDX, IDC_YOUR_EDIT_BOX, m_edit);

对于DDX_Control第三个参数绝对需要是基于CWnd的类型,而CString不是。

如果你想得到文本,

UpdateData();
CString s;
m_edit.GetWindowText(s); 

现在,s变量具有所需的文本。

如果要直接尝试使用字符串,可以尝试将 CString 成员变量添加到类中。

CString m_edit_string;

DoDataExchange函数中添加:

DDX_Text(pDX, IDC_YOUR_EDIT_BOX, m_edit_string);

注意,这是DDX_Text.

无论在哪里需要文本调用UpdateData();然后m_edit_string变量都有文本。