| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > Как поймать нажатие клавиши в Edit? |
| Автор: Тутанхамец 23.1.2006, 18:50 |
| У меня есть диалоговое окно. Там есть созданное через CreateWindow текстовое поле. Надо бы, чтоб когда я нажимаю "стрелку вправо" фокус переходил на другое текстовое поле. Про TAB_STOP знаю. Вопрос, как поймать нажатие клавиши для Edit? case WM_CHAR в процедуре диалогового окна не работает. Есть что-нибудь проще, чем задание процедуры окна с помощью SetWindowLong? |
| Автор: Fixin 23.1.2006, 19:01 |
| Проще - не знаю, но ты не то сообщение ловил. Надо WM_KEYDOWN или WM_KEYUP. ЗЫ: НЕхорошо так делать (елси в едите вводится не один символ) надо же редактировать введенное, а мышкой не всегда удобно. |
| Автор: Fixin 23.1.2006, 19:18 |
| Ну и примерчик, как полагается с отсутствием буквы "а" в расширении |
| Автор: Тутанхамец 23.1.2006, 19:47 |
| Опять спасибо Там вводится как раз один символ - либо 1, либо 0. У меня массив из 32-ъ эдитов, которые изображают разрядную сетку для числа float. |
| Автор: Fixin 23.1.2006, 20:29 |
| тогда лучше сделать переход сразу после введения символа |
| Автор: Тутанхамец 24.1.2006, 09:24 | ||
Слушай, вот ты в примере делаешь такую штуку:
А что будет, если не вернуть в класс старую процедуру? |
| Автор: Fixin 24.1.2006, 14:52 |
| Да ничего. В принципе, это пережиток вин16, где все было общее (полный социализьм), вот там могли быть глюки, что ты закрыл свою прожку, а поведение субласенного контрола появилось в другом приложении. (правда я сам такого не видел). А теперь, этим делом может заняться система (виндовса). Еще есть вариант, что в твоем приложении несколько ОКОН (а не диалогов), и в них ты субкласишь элементы управления, при закрытии одного окна, процесс продолжает существовать, и может оказаться что осталась и выделенная память под ту процедуру, на которую ты заменял стандартную, и при жестких требованиях к экономии памяти это может вызвть недовольство. (Пару раз окошко открыл - закрыл, а памяти - тю-тю) |
| Автор: Тутанхамец 25.1.2006, 08:48 |
| Ясно. На всякий случай буду возвращать процедуру на место.) |