Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как отловить событие ввода в едит ? 
:(
    Опции темы
Korman
Дата 20.9.2006, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Нужно отловить все символы вводимые в многосрочный едит... и запихнуть их в переменную, чтобы потом послать в порт... и вывести в другом едите... 
 Я пытаюсь делать так.. но тщетно:
Код


UINT nChar;
UINT nRepCnt;
UINT nFlags;
void CTestThreadDlg::OnEnChangeEdit1()
{

CWnd::OnChar(nChar, nRepCnt, nFlags);

}



  и потом :
Код

CString a;
void CTestThreadDlg::OnBnClickedCancel()
{

a.Format("Number %s",nChar);

GetDlgItem(IDC_EDIT2)->SetWindowText(a);
    
}

помогите разобраться..
PM MAIL   Вверх
Earnest
Дата 20.9.2006, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

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



В чем конкретно проблемы: в ловле символов? в запоминании? или в посылке другому эдиту?

Возможные варианты:
1) ловить посимвольно, и посылать тоже посимвольно. Т.е. нужно переопределить в своем классе - наследнике CEdit OnChar и перед стандартной обработкой посылать то же сообщение нужному эдиту.
Можно и не переопределять OnChar, а сделать то же самое в PreTranslateMessage диалога.

2) ловить изменение и посылать строку целиком: ловим в диалоге EN_CHANGE, считываем строку из нашего эдита, а другому передаем ее через SetWindowText


--------------------
...
PM   Вверх
Korman
Дата 20.9.2006, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Проблема в том что когда я пишу так (см код) он вообще ничего не выводит- ни символов ни ошибок... Хочу сделать так... набираю я в едит команду... жму кнопочку... и 
1-она посылается порту
2- она отображается в другом едите...
  вот чего хочу. В чём у меня баг почему не пашет!? Плиз помогите.

PM MAIL   Вверх
vinter
Дата 20.9.2006, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



Цитата

CWnd::OnChar(nChar, nRepCnt, nFlags);

а что у тебя содержится в этих переменных??
Они привязаны к Едитам??
Если да то добавь UpdateDate(TRUE);


--------------------
Мой блог
PM MAIL WWW   Вверх
Korman
Дата 20.9.2006, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Где добавить... как это вообще делать... Можно ОЧЕНЬ подробно пожаста!
PM MAIL   Вверх
vinter
Дата 20.9.2006, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



добавь в эту ф-ию
Цитата

void CTestThreadDlg::OnEnChangeEdit1()

т.е если у тебя есть переменные связанные с контроломи, то  
Код

UpdateDate(TRUE);

обновляет значения переменных, в зависимости от значения контролов


--------------------
Мой блог
PM MAIL WWW   Вверх
Korman
Дата 21.9.2006, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Объясню проблему.... как мне ввести ту самую переменную или массив в который и будут символы эти заполняться... Я этого не знаю...  подскажите пожаста.
PM MAIL   Вверх
vinter
Дата 21.9.2006, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



1.создаешь переменную (например m_szEdit)
2. засовываешь в ф-ию
Код

void CTerVerDlg::DoDataExchange(CDataExchange* pDX)

следующий код
Код

DDX_Text(pDX, ID_EDIT, m_szEdit);

ID_EDIT - идентификатор едита
теперь у тебя есть переменная m_szEdit, связанная с полем ID_EDIT..


--------------------
Мой блог
PM MAIL WWW   Вверх
Korman
Дата 21.9.2006, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Создал переменную .. написал код как вы посоветовали... запускаю... без ошибок всё ок... но только я жму на кнопку - приложение вылетает... и он пишет ошибка по какомуто адресу... Это чё... Что я перепутал ??
PM MAIL   Вверх
vinter
Дата 21.9.2006, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



xt за ошибка??
кинь проект все посмотрю, так быстрее получится!!


--------------------
Мой блог
PM MAIL WWW   Вверх
Korman
Дата 21.9.2006, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



На  mail послать... или тут код выложить.?.. там много  я на мыло ща скину.. 
PM MAIL   Вверх
Korman
Дата 21.9.2006, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Послала.. там пояснение небольшое в письме.. почитайте...

Добавлено @ 12:58 
Уважаемый винтер у вас случано аси нет.... может мы пообщаемся через аську.. ?
PM MAIL   Вверх
vinter
Дата 21.9.2006, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



не аси нет, не хотят меня регистрировать, ошибки там вечно какие-то smile 


--------------------
Мой блог
PM MAIL WWW   Вверх
Korman
Дата 21.9.2006, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Хошь могу скинуть версию аси где не надо никакой регистрации... очень удобно... просто у меня инет телефонный и ася - это очень дёшево... тафика не ест почти... хошь скину инсталяху ?
PM MAIL   Вверх
vinter
Дата 21.9.2006, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

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



Цитата

хошь скину инсталяху ?

не спасибо меня сервер не регистрирует как пользователя smile 
как в порты писать я не знаю, я тебе сделал так:
пишешь в верхний едит, нажимаешь старт и то сто было в первом едите отображается во втором, переменная первого едита d_read,
второго m_Edit2, ну а потом пиши себе в порт переменную m_Edit2..
прикреплены два измененных файла, замени их у себя..
P.S и не издевайся больше над моей модемной связью smile , когда кидаешь проект не надо кидать папки DEbug и Release..

Это сообщение отредактировал(а) vinter - 21.9.2006, 13:36

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  TestThread.zip 3,46 Kb


--------------------
Мой блог
PM MAIL WWW   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




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


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

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