Выдрать текст из Edit Control
Нужно при нажатии на кнопку ок
if (LOWORD(wParam) == IDOK)
{
}
break;
................
Как средствами WinApi выдрать текст из Edit Control, расположенный на DialogBox'е?
Нужно при нажатии на кнопку ок
if (LOWORD(wParam) == IDOK)
{
}
break;
................
GetDlgItemText(hwDlg,IDC_EDIT1,lpbuf,sizeof(lpbuf))
GetDlgItemText(hwDlg,IDC_EDIT1,lpbuf,sizeof(lpbuf))
Я зделал так
{
GetDlgItemText(hDlg, IDC_EDIT1, lpbuf, sizeof(lpbuf));
MessageBox(hDlg, lpbuf, "ShowText", MB_OK);
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
lpbuf у меня глобальная переменная!
Проблема - текст в сообщении не отображается!
Я зделал так
{
GetDlgItemText(hDlg, IDC_EDIT1, lpbuf, sizeof(lpbuf));
MessageBox(hDlg, lpbuf, "ShowText", MB_OK);
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
lpbuf у меня глобальная переменная!
Проблема - текст в сообщении не отображается!
А как ты объявил lpbuf? A sizeof(lpbuf) можно использовать только на массивах типа:
char lpbuf[200];
Проверь так же тот ли IDC_EDIT1, а не другой. А если нет то код в студию!
Можеш так же попробовать GetWindowText(GetDlgItem(hDlg,IDC_EDIT1),lpbuf,size_lpbuf);
Или SendMessage(h_edit_control,WM_GETTEXT,)WPARAM)size_lpbuf,(LPARAM)lpbuf);
Я зделал так
{
GetDlgItemText(hDlg, IDC_EDIT1, lpbuf, sizeof(lpbuf));
MessageBox(hDlg, lpbuf, "ShowText", MB_OK);
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
lpbuf у меня глобальная переменная!
Проблема - текст в сообщении не отображается!
Нуа я бы сделал так:
#include <windowsx.h>
...
char buf[255];
switch(LOWORD(wParam))
{
case IDOK:
Edit_GetText(GetDlgItem (hDlg,IDC_EDIT1),buf,strlen(buf));
MessageBox(hDlg, buf, "ShowText", MB_OK);
EndDialog(hDlg, TRUE);
return TRUE;
}
ибо пока макросами пользоваться господа!
Я зделал так
{
GetDlgItemText(hDlg, IDC_EDIT1, lpbuf, sizeof(lpbuf));
MessageBox(hDlg, lpbuf, "ShowText", MB_OK);
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
lpbuf у меня глобальная переменная!
Проблема - текст в сообщении не отображается!
Ну а я бы сделал так:
#include<windowsx.h>
...
char buf[255];
switch(LOWORD(wParam))
{
case IDOK:
Edit_GetText(GetDlgItem(hDlg,IDC_EDIT1),buf,strlen(buf));
MessageBox(hDlg, buf, "ShowText", MB_OK);
EndDialog(hDlg, TRUE);
return TRUE;
}
ибо пора макросами пользоваться господа!
А как ты объявил lpbuf? A sizeof(lpbuf) можно использовать только на массивах типа:
char lpbuf[200];
Проверь так же тот ли IDC_EDIT1, а не другой. А если нет то код в студию!
Объявил как масссив - все заработало! Спасибо.