vs GetWindowText控件的使用

请教下大家:
当使用Static Text控件时,如下代码时ok的
m_machine.GetWindowText(stred);是OK的,
当使用EDIT CONTROL控件时,则出错,应该如何修改呢?
m_machine为控件的定义:
1)使用Static Text定义如下:DDX_Control(pDX, IDC_MACHINE, m_machine);
2)当使用EDIT CONTROL定义如下:DDX_Text(pDX, IDC_MACHINE, m_machine);

谢谢大家!

先获取控件


GetDlgItem(IDC_MACHINE)->GetWindowText(str)

textbox的文本不是标题,要用sendmessage wm_settext设置。

DDX_Control(pDX, IDC_MACHINE, m_machine);中m_machine的类型应该是CWnd.
DDX_Text(pDX, IDC_MACHINE, m_machine);中m_machine的类型应该是CString, 或者int, float等等
使用EDIT CONTROL和DDX_Text时,如果声明m_machine为CString,那么GetWindowText()不是CString的成员函数,编译m_machine.GetWindowText(stred);是出错。
如果声明m_machine为CWnd,那么DDX_Text(pDX, IDC_MACHINE, m_machine)时会编译错误。

不知道您的错误发生在什么地方?如果上述推测正确,建议的修改方法
(1) 即使使用EDIT CONTROL也把m_machine声明为CWnd,用DDX_Control(pDX, IDC_MACHINE, m_machine); 在程序中使用m_machine.GetWindowText(stred);获取字符串
或者(2)声明m_machine为CString, 使用DDX_Text(pDX, IDC_MACHINE, m_machine); 在程序中用UpdateData();然后直接读取m_machine的值。因为已经是CString了。

谢谢bytekiller !我是将Text空间改为EDIT 控件时发生了上述错误,我先试试看。