Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TEdit и звуковой сигнал по Enter`у, Как избежать? 
:(
    Опции темы
Usper
Дата 24.4.2007, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



На форме есть куча компонентов TEdit. Необходимо передать фокус ввода на следующий TEdit, по нажатию на Enter. С передачей фокуса проблем не возникает. Но каждый раз по нажатию на Enter возникает звуковой сигнал. Как от него избавиться? Выключение звука не предлагать  smile .


--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
Anikmar
Дата 24.4.2007, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

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



Наверное перехватываете OnShortCut? 
Обычно такое возникает, когда забываешь правильно установить параметр Handled  в обработчике, чтобы сказать, что это нажатие потеряно для общества.
PM MAIL ICQ   Вверх
Usper
Дата 24.4.2007, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Эээ.... Как все сложно то...  smile. Я сделал все по-простому: воткнул в обрабочик OnKeyDown Edit`а строку вида: if(Key==13) Edit2->SetFocus(); Никакого Handled`а там нету...


--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
Anikmar
Дата 24.4.2007, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

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



Тогда перед SetFocus сделайте Key = 0 - тоже самое по сути

Добавлено через 4 минуты и 31 секунду
Цитата(Usper @  24.4.2007,  19:30 Найти цитируемый пост)
Эээ.... Как все сложно то...  . Я сделал все по-простому

Ничего сложного, просто другой перехватчик. Если вам понадобится перехватить, допустим, стрелки - то весьма полезен
PM MAIL ICQ   Вверх
Usper
Дата 24.4.2007, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Не помогает :(.


--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
Anikmar
Дата 24.4.2007, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

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



Цитата(Usper @  24.4.2007,  21:07 Найти цитируемый пост)
Не помогает :(. 

Значит пищит еще до вашего обработчика.
Попробуйте "Сложный вариант" - перехватить OnShortCut прямо на форме. Обычно я его перехватывал - там можно перехватить ВСЕ клавиши, управляющие, служебные. Меня тоже раздражал этот бип.


PM MAIL ICQ   Вверх
darkart
Дата 24.4.2007, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В OnKeyPress едита:
Код

  if(Key==13)
  {
    //ваши действия здесь
    Key=0;
    //или здесь
  }

Как вариант:
Код

  SystemParametersInfo(SPI_SETBEEP,FALSE,NULL,0);//выключить beep
  SystemParametersInfo(SPI_SETBEEP,TRUE,NULL,0);//включить beep

, но это довольно радикальноsmile

Это сообщение отредактировал(а) darkart - 24.4.2007, 23:06
PM MAIL WWW ICQ Skype GTalk   Вверх
Klin
Дата 24.4.2007, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Вообще странно, если возникает звук, то переход не должен осуществляться. Если это не звук об ошибке добавления строки в Edit (хотя сам о такой ошибке не слышал : ) . НО проблем с этм быть не должно. Достаточно разрешить фокусировку на нужном поле и совершить ее. 


p.s.  попробуйте воспользоваться поиском на форуме. Тема обсуждалась, все ответы найти легко...


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
Usper
Дата 25.4.2007, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Первый вариант darkart`а работает. Спасибо за подсказку.


--------------------
На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник.
PM MAIL   Вверх
HappyLife
Дата 26.4.2007, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Usper, 
По-моему, Anikmar тебе тоже самое написал)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




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


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

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