Casa
Top.Mail.Ru Yandeks.Metrika
Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];
abajo

Как заставить TEdit не генерить звуковой сигнал при включенном обработчике нажатий клавиш. Encontrar ramas similares


voronkov   (2001-12-18 12:27) (1)

Утомил этот трабл и не знаю как бороться. В TEdit использую обработчик нажатий клавиш OnKeyDown. Ловлю нажатия клавиш типа Enter, Escape и прочих. После нажатия таких клавиш звучит звуковой сигнал. Если стоит звуковая карта, то сигнал из набора звуковой схемы, если не стоит, то работает динамик компьютера. Пользователи воют, я сижу с ними, вою тоже. Лезть внутрь компьютеров и отрубать динамики кажется мне неспортивным. Как это затоптать?


Anatoly Podgoretsky (2001-12-18 12:34) (1)

Key:=#0


Anatoly Podgoretsky (2001-12-18 12:36) (1)

Извини ошибка, думал об OnKeyPress


Viktor Scherbakov (2001-12-18 12:42) (1)

А как быть с OnKeyDown? Недавно была такая же проблема.
Пришлось использовать RichEdit.


Vladislav (2001-12-18 12:58) (1)

Так какие проблемы?
Нужно добавить OnKeyPress и Key:=#0;



Teacher   (2001-12-18 13:02) (1)

Обрабатываю OnKeyUp, ничего не делаю кроме присвоения #0 при получении кодов, обрабатываемых в OnKeyDown.


Viktor Scherbakov (2001-12-18 13:04) (1)

to Владислав ©
Из хэлпа:
Keys that don"t correspond to an ASCII Char value (Shift or F1, for example) don"t generate an OnKeyPress event.


Vladislav (2001-12-18 13:06) (1)

> Victor Shcherbakov © (18.12.01 13: 04)

Да, но они, слава богу, и не "пищат".


Viktor Scherbakov (2001-12-18 13:09) (1)

Попробуй Ctrl + S например :)


Vladislav (2001-12-18 13:19) (1)

> Victor Shcherbakov © (18.12.01 13: 09)

Не "пищит", однако?

Еще что-нибудь придумаешь?

:)))



voronkov   (2001-12-18 13:19) (1)

Пробовал вставлять в OnKeyUp key := 0, проблема осталась. Ну елы-палы, что типа делать?


Dmitriy (nuevo) (2001-12-18 14:29) (1)

TMyEdit= class(TEdit)
...
procedure KeyPress(var Key: Char); override;
...
End;

procedure TMyEdit.KeyPress(var Key: Char);
comenzar
case key of
#1..#12,#14..#26,#28..#255:;
else key:=#0;
End;
End;


и не "пищат".


cdaDmitriy2001-12-18 15:22) (1)

trabajo ?


panov2001-12-18 15:26) (1)

Попробуй вот так:
procedure TfDocEdit.FormKeyPress(Sender: TObject; var Key: Char);
comenzar
if (Key = #27) then
comenzar
Key:=#0;
if (fDocEdit.ActiveControl is TEdit) then
comenzar
TEdit(fDocEdit.ActiveControl).Text := vPrevValue;
TEdit(fDocEdit.ActiveControl).Modified := False;
fin;
fin;
if (Key = #13) then
comenzar
Key:=#0;
Perform(WM_NEXTDLGCTL,0,0);
fin;
fin;


panov2001-12-18 15:27) (1)

И не забудь выставить
TfDocEdit.KeyPreview := True;



cdaDmitriy2001-12-18 15:32) (1)

>> panov ©
забыл KeyPreview:=true;
и вопрос что ты будешь делать если на форме /проекте 10 ..n TEdit ?

забыл ООП


voronkov   (2001-12-18 16:06) (1)

Чуваки, всем спасибо. Не пищит комбинация с
case key of
#13: begin
...
fin;
else key:=#0;
End;
в OnKeyPress, правда немного непривычно работать с этим событием, так как привык работать с константами типа VK_...
К сожалению я пишу программу с большим объемом ручного ввода и зачастую разные TEdit должны по разному реагировать на одни и теже клавиши, в противном случае можно пользоваться событиями формы. Так что ООП тут не спасает отца русской демократии.


panov2001-12-18 16:12) (1)

>cdaDmitriy © (18.12.01 15:32)
Каждому прописываешь имя этого обработчика.


cdaDmitriy2001-12-18 16:15) (1)

> panov © забыл ООП
делаешь новый компонент ( T..Edit ) один раз

procedure KeyPress(var Key: Char); override;

и его используешь



Páginas: 1 rama entera

Foro: "Principal";
Archivo actual: 2002.01.08;
Descargar: [xml.tar.bz2];

arriba















Memoria: 0.85 MB
Tiempo: 0.153 c
7-22431
Pachá
2001-09-21 15:58
2002.01.08
Cómo quitar de la tarjeta de sonido, la forma de onda.


4-22483
Stropal
2001-11-03 10:57
2002.01.08
Параметры фукнции


14-22397
muerto
2001-11-10 18:49
2002.01.08
¿Alguien tiene un gif o un mapa de contorno jpg del mundo?


1-22115
DerZky
2001-12-19 18:14
2002.01.08
Как сравнить даты и разницу между ними получить Integer


1-22144
shornik
2001-12-20 11:36
2002.01.08
Maestros !!!! Por favor ayuda con el problema!





africaans albanés Arabic armenio Azerbaiyán vasco Bielorruso Bulgarian Catalán Chino (simplificado) Chino (tradicional) Croata Checo Danés Dutch Inglés Estonia filipina Finnish Francés
gallego georgiano Alemán Griego criollo haitiano hebreo hindi Húngaro islandés Indonesian irlandés Italiano Japonés Korean letón lituano macedonio Malay maltés Noruego
persa polaco Portuguese rumano Ruso Serbio Slovak Esloveno Español swahili Sueco Thai turco ucranio Urdu vietnamita galés yídish bengalí bosnio
cebuano esperanto gujarati hausa hmong igbo javanés kannada khmer lao latín maorí marathi mongol nepali punjabi somalí Tamil telugu yoruba
zulú
Английский Francés Alemán Italiano portugués Русский Español