В диалоге есть editbox(IDC_EDIT) и push button (ID_OK).Хочу по нажатии кнопки считать введенный текст из edit box. Вот код из функции-обработчика для диалога:
switch (LOWORD(wParam))
{
case ID_OK:
if (!GetDlgItemText(hwndDlg,IDC_EDIT,strDataFile, 80))
strDataFile="data.txt"; // default file
EndDialog(hwndDlg, wParam);
break;
Функция GetDlgItemText(..) всегда возвращает ноль — в чем тут загвоздка? Может надо событие какое0нибудь инициировать — типа WM_GETTEXT
IDC_EDIT определена нормально(пробовал вместо нее писать ее целый идентификатор — то же самое)
Здравствуйте, Windigo, Вы писали:
W>В диалоге есть editbox(IDC_EDIT) и push button (ID_OK).Хочу по нажатии кнопки считать введенный текст из edit box. Вот код из функции-обработчика для диалога: W>switch (LOWORD(wParam)) W> { W> case ID_OK: W> if (!GetDlgItemText(hwndDlg,IDC_EDIT,strDataFile, 80)) W> strDataFile="data.txt"; // default file
W> EndDialog(hwndDlg, wParam); W> break;
W>Функция GetDlgItemText(..) всегда возвращает ноль — в чем тут загвоздка? Может надо событие какое0нибудь инициировать — типа WM_GETTEXT W>IDC_EDIT определена нормально(пробовал вместо нее писать ее целый идентификатор — то же самое)
Здравствуйте, Windigo, Вы писали:
W>В диалоге есть editbox(IDC_EDIT) и push button (ID_OK).Хочу по нажатии кнопки считать введенный текст из edit box. Вот код из функции-обработчика для диалога: W>switch (LOWORD(wParam)) W> { W> case ID_OK: W> if (!GetDlgItemText(hwndDlg,IDC_EDIT,strDataFile, 80)) W> strDataFile="data.txt"; // default file
W> EndDialog(hwndDlg, wParam); W> break;
а как объяыляется strDataFile?
Здравствуйте, Windigo, Вы писали:
W>Здравствуйте, agos, Вы писали:
A>>а как объяыляется strDataFile?
W>char *strDataFile = NULL; //global var W>привел ее к типу (LPTSTR) на всякий случай..
Может на всякий случай объявить её как
char strDataFile[80];
Функция GEtDlgItemText не выделяет память, она берет указатели на выделенную память (не важно даже, в данном случае, динамически или нет)
а в самой функции идет что-то подобное:
Здравствуйте, srd, Вы писали:
srd>А что говорит GetLastError?
Сказала handle is invalid — получается неверный hwndDlg? Ведь формально я ему ничего не присваиваю — все что программа знает о диалоге это:
Здравствуйте, Windigo, Вы писали:
W>Здравствуйте, srd, Вы писали:
srd>>А что говорит GetLastError? W>Сказала handle is invalid — получается неверный hwndDlg? Ведь формально я ему ничего не присваиваю — все что программа знает о диалоге это:
Как раз то strDataFile и есть инвалидный (а по просту говоря = 0) хендл. Ну ты уже вроде понял..