我是 ATL 的新人。所以请原谅我问这个问题。
问题描述:CEdit
ATL 对话框类中增加了
一个控件。它附加在对话框初始化函数中。
//Define the edit control
ATLControls::CEdit m_txtInput;
//In the OnInitDialog function
m_txtInput.Attach(GetDlgItem(IDC_INPUT_LINE));
m_txtInput.SetWindowText(_T("New directory"));
//In the public memeber function of the dialog GetInput()
//I have tried three kinds of method to get the text. But all of them are throw an
//assert exception, IsWindow() failed.
//1.
GetDlgItemText(IDC_INPUT_LINE, input);
//2.
ZeroMemory(m_lptstrInput, MAX_PATH);
m_txtInput.GetLine(0, m_lptstrInput, MAX_PATH);
//3.
BSTR input;
m_txtInput.GetWindowText(input);
这是一个关于如何从中获取文本的主题,CEdit
但它不起作用。
为什么CEdit
控件可以用函数设置文本,SetWindowText()
但不能通过函数获取文本GetWindowText()
?这真的让我很困惑。如果有人可以为我解释,非常感谢。