Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Выдрать текст из Edit Control

249
21 июля 2005 года
DissDoc
639 / / 01.10.2004
Как средствами WinApi выдрать текст из Edit Control, расположенный на DialogBox'е?
Нужно при нажатии на кнопку ок
 
Код:
.........
if (LOWORD(wParam) == IDOK)
        {
            }
        break;
................
406
21 июля 2005 года
vitaly2003s
481 / / 27.07.2004
Цитата:
Originally posted by DissDoc
Как средствами WinApi выдрать текст из Edit Control, расположенный на DialogBox'е?
Нужно при нажатии на кнопку ок
 
Код:
.........
if (LOWORD(wParam) == IDOK)
        {
            }
        break;
................



GetDlgItemText(hwDlg,IDC_EDIT1,lpbuf,sizeof(lpbuf))

249
21 июля 2005 года
DissDoc
639 / / 01.10.2004
Цитата:
Originally posted by vitaly2003s
GetDlgItemText(hwDlg,IDC_EDIT1,lpbuf,sizeof(lpbuf))



Я зделал так

 
Код:
if (LOWORD(wParam) == IDOK)
{
GetDlgItemText(hDlg, IDC_EDIT1, lpbuf, sizeof(lpbuf));             
MessageBox(hDlg, lpbuf, "ShowText", MB_OK);
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}


lpbuf у меня глобальная переменная!

Проблема - текст в сообщении не отображается!
406
21 июля 2005 года
vitaly2003s
481 / / 27.07.2004
Цитата:
Originally posted by DissDoc
Я зделал так
 
Код:
if (LOWORD(wParam) == IDOK)
{
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, а не другой. А если нет то код в студию!

406
21 июля 2005 года
vitaly2003s
481 / / 27.07.2004

Можеш так же попробовать GetWindowText(GetDlgItem(hDlg,IDC_EDIT1),lpbuf,size_lpbuf);
Или SendMessage(h_edit_control,WM_GETTEXT,)WPARAM)size_lpbuf,(LPARAM)lpbuf);
6.6K
22 июля 2005 года
hunter
46 / / 22.09.2004
Цитата:
Originally posted by DissDoc
Я зделал так
 
Код:
if (LOWORD(wParam) == IDOK)
{
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;
}

ибо пока макросами пользоваться господа!

6.6K
22 июля 2005 года
hunter
46 / / 22.09.2004
Цитата:
Originally posted by DissDoc
Я зделал так
 
Код:
if (LOWORD(wParam) == IDOK)
{
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;
}
ибо пора макросами пользоваться господа!

249
22 июля 2005 года
DissDoc
639 / / 01.10.2004
Цитата:
Originally posted by vitaly2003s
А как ты объявил lpbuf? A sizeof(lpbuf) можно использовать только на массивах типа:
char lpbuf[200];
Проверь так же тот ли IDC_EDIT1, а не другой. А если нет то код в студию!



Объявил как масссив - все заработало! Спасибо.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог