我正在尝试在Win32 C ++应用程序的textedit
中获取dialog
控件的文本。
我正在使用以下代码块来测试它,并且还要测试它。
HWND hCarRegNo = GetDlgItem( hDlg, IDC_REGNUMBER );
if( hCarRegNo )
{
LPWSTR carRegNo = NULL;
GetWindowText(hCarRegNo, carRegNo, 20);
MessageBox(hDlg, carRegNo, _T("Test"), MB_OK);
}
MessageBox
输出为空字符串。
我的错误在哪里?
答案 0 :(得分:2)
没有为carRegNo分配任何内存。试试这个
WCHAR carRegNo[20];
GetWindowText(hCarRegNo, carRegNo, 20);
答案 1 :(得分:0)
经过一些研究,我已经解决了问题:我不得不使用LPWSTR
代替TCHAR carRegNo[256]
来完成这项工作。
HWND hCarRegNo = GetDlgItem( hDlg, IDC_REGNUMBER );
if( hCarRegNo )
{
TCHAR carRegNo[256] = L"";
GetWindowText(hCarRegNo, carRegNo, 256);
MessageBox(hDlg, carRegNo, _T("Test"), MB_OK);
}