Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Значение Edit в переменную 
:(
    Опции темы
ZIFIR
Дата 13.4.2007, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 8.3.2006

Репутация: нет
Всего: нет



Если можно поподробнее объясните как значение Edit занести в переменную по нажатии на кнопку?
Какая процедура используется для одинарного нажатия на кнопку?
Надо ли создавать и описывать класс от CEdit для этого?

PM MAIL   Вверх
zkv
Дата 13.4.2007, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 16
Всего: 92



Цитата(ZIFIR @  13.4.2007,  08:04 Найти цитируемый пост)
Какая процедура используется для одинарного нажатия на кнопку?

в редакторе ресурсов сделайте двойной щелчок по кнопке, тем самым создадите и попадете в обработчик smile
Цитата(ZIFIR @  13.4.2007,  08:04 Найти цитируемый пост)
Надо ли создавать и описывать класс от CEdit для этого?

нет
Цитата(ZIFIR @  13.4.2007,  08:04 Найти цитируемый пост)
Если можно поподробнее объясните как значение Edit занести в переменную по нажатии на кнопку?

добавте управляющую переменную (control variable) в редакторе ресурсов (пусть будет m_MyEdit), потом в обработчике пишем:
Код

CString str;//тут будет текст
m_MyEdit.GetWindowText( str );

PM MAIL   Вверх
ZIFIR
Дата 13.4.2007, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 8.3.2006

Репутация: нет
Всего: нет



А если я делаю в пустом проекте то как?
PM MAIL   Вверх
Greeen
Дата 13.4.2007, 08:52 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 10
Всего: 18



Объявляешь переменную типа CString в хедере класса диалога (пусть m_strEdit).
Перекрываешь для класса диалога функцию DoDataExchange. 
Т.е. в хедере:
Код
virtual void DoDataExchange(CDataExchange* pDX);

В cpp:
Код
void CYourDlg::DoDataExchange(CDataExchange* pDX)
{
     CDialog::DoDataExchange(pDX);
     DDX_Text(pDX, IDC_EDIT, m_strEdit);
}

Далее чтобы переслать строку из едита в строку вызываешь UpdateData(true), а чтобы из строки в едит - UpdateData(false);


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
ZIFIR
Дата 13.4.2007, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 8.3.2006

Репутация: нет
Всего: нет



А через GetWindowText() как сделать?
PM MAIL   Вверх
Greeen
Дата 13.4.2007, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 10
Всего: 18



IDC_EDIT - идентификатор твоего едита
Код

CString strEdit;
GetDlgItemText(IDC_EDIT, strEdit);

Если уж сильно хочется через GetWindowText, то
Код

CString strEdit;
GetDlgItem(IDC_EDIT)->GetWindowText(strEdit);



--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
ZIFIR
Дата 13.4.2007, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 8.3.2006

Репутация: нет
Всего: нет



Делаю так:

void CMyButton::OnLButtonDblClk(UINT, CPoint)
{
    CString str;    
    GetDlgItemText(IDC_MYEDIT, str);
}

Проверяю в отладчике str= ("")

Вставляю
MoveWindow(CRect(120,100,220,150),TRUE);
получается двигать кнопку

Что не так
PM MAIL   Вверх
Greeen
Дата 13.4.2007, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 10
Всего: 18



Код

CString str;
GetDlgItemText(IDC_MYEDIT, str);
AfxMessageBox(str);

Что показывает?


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
ZIFIR
Дата 13.4.2007, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 8.3.2006

Репутация: нет
Всего: нет



Пустое окно
PM MAIL   Вверх
Greeen
Дата 13.4.2007, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 10
Всего: 18



2 варианта:
1. У тебя пустой едит
2. У тебя неверный идентификатор. Т.е. IDC_MYEDIT существует, но он не связан с едитом
Других причин я не вижу. Проверь все внимательней.


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
ZIFIR
Дата 13.4.2007, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 8.3.2006

Репутация: нет
Всего: нет



Наверно не связан, а как связать?
И пож напишите метод одинарного клика на Button
PM MAIL   Вверх
Greeen
Дата 13.4.2007, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 10
Всего: 18



В редакторе ресурсов выделяешь свой едит и в окне Properties в поле ID вводишь свой идентификатор. Делаешь двойной клик по кнопке и попадаешь в обработчик "одинарного клика на Button".


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
ZIFIR
Дата 13.4.2007, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 8.3.2006

Репутация: нет
Всего: нет



Я делал через пустой проект. Как программно это сделать?
PM MAIL   Вверх
Greeen
Дата 13.4.2007, 15:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 710
Регистрация: 13.8.2006
Где: Петербург

Репутация: 10
Всего: 18



Я не хочу объяснять как редактировать в ручную файл ресурсов. Или делай через мастера или жди пока садо-мазохист, который не любит пользоваться удобствами среды, а любит геморрой и делает все вручную, объяснит тебе как это делается.


--------------------
Подпись больше не нужна
PM MAIL ICQ Skype   Вверх
a11en
Дата 13.4.2007, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 4.11.2006
Где: Ставрополь

Репутация: нет
Всего: нет



ZIFIR, интересно, а зачем такое может понадобится???
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0563 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.