我与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函数文本()? 这真是让我困惑。 非常感谢,如果有人可以解释给我。