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

Ваш аккаунт

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

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

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

обмен с CEdit

378
27 ноября 2006 года
KurL
171 / / 01.08.2005
что-то не получается получить значение содержащееся в CEditBox. подскажите - где ошибка?

у меня есть вот такой класс

class CAppForm : public CFormView, public CD3DApplication

в нём int iShootingPeriod; (public)


void CAppForm::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
DDX_Text(pDX, IDC_EDIT1, iShootingPeriod);
}

DDX_Text(pDX, IDC_EDIT1, iShootingPeriod); - эта штука вроде работает (после иниз-и приложения в едит боксе я вижу значение iShootingPeriod)

хочу реагировать на изменение значения пользователем

void CAppForm::OnChangeEdit1()
{
CEdit *EditBoxPtr = (CEdit *) (this->GetDlgItem(IDC_EDIT1));
// получил указатель (непустой)
char CStr[16]; // хочу сюда считать значение из едитбокса моего
int i = EditBoxPtr->GetLine(0,CStr);
// i == 0 и пустая строка.... вот
}
398
28 ноября 2006 года
Alexandoros
630 / / 21.10.2005
Это билдер???

Вообще-то попробуй заюзать GetDlgItem(ID_CONTROLA)->GetWindowText()
22K
28 ноября 2006 года
phobos[UA]
9 / / 28.11.2006
Если тебе надо получить значение CEdita в виде числа, в переменную iShootingPeriod то просто вызови UpdateData( 1 ), а там всё что описано в DDX будет из диалога перенесено в переменные.
355
28 ноября 2006 года
<SCORP>
786 / / 21.10.2006
стоп! если ты связал значение едит бокса с переенной через DDX, то зачем ты потом делаешь GetDlgItem? тебе надо просто сделать UpdateData(TRUE) и в твоём iShootingPeriod у тебя будет значение из едита

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