Casa
Top.Mail.Ru Yandeks.Metrika
Fórum: "Principal";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

Para baixo

Как заставить TEdit не генерить звуковой сигнал при включенном обработчике нажатий клавиш. Encontre agências semelhantes


voronkov   (2001-12-18 12:27) [0]

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



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

Key:=#0



Anatoly Podgoretsky   (2001-12-18 12:36) [2]

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



Виктор Щербаков   (2001-12-18 12:42) [3]

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



Владислав   (2001-12-18 12:58) [4]

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



Teacher   (2001-12-18 13:02) [5]

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



Виктор Щербаков   (2001-12-18 13:04) [6]

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



Владислав   (2001-12-18 13:06) [7]

> © Victor Shcherbakov (18.12.01 13: 04)

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



Виктор Щербаков   (2001-12-18 13:09) [8]

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



Владислав   (2001-12-18 13:19) [9]

> © Victor Shcherbakov (18.12.01 13: 09)

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

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

:)))



voronkov   (2001-12-18 13:19) [10]

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



Dmitriy(new)   (2001-12-18 14:29) [11]

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

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


и не "пищат".



cdaDmitriy   (2001-12-18 15:22) [12]

trabalhos ?



panov   (2001-12-18 15:26) [13]

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



panov   (2001-12-18 15:27) [14]

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



cdaDmitriy   (2001-12-18 15:32) [15]

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

забыл ООП



voronkov   (2001-12-18 16:06) [16]

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



panov   (2001-12-18 16:12) [17]

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



cdaDmitriy   (2001-12-18 16:15) [18]

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

procedure KeyPress(var Key: Char); override;

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



Страницы: 1 filial inteira

Fórum: "Principal";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

em cima















Memória: 0.87 MB
Hora: 0.032 c
1-22224
Oleg Gashev
2001-12-15 11:14
2002.01.08
Проблеммы с размерами картинки при распечатке


1-22107
Alexander
2001-12-19 01:45
2002.01.08
Как при запуске программы сразу показать поверх главной формы другую?


1-22056
Delphimun
2001-12-15 13:11
2002.01.08
Como criar um recurso usando o brcc32.exe?


1-22053
Greenrul
2001-12-18 19:29
2002.01.08
ANTIALSING para fontes TTF.


1-22164
Warchild
2001-12-19 21:46
2002.01.08
ListBox -> Selecionar linha





afrikaans albanês Arabic armênio azerbaijano basco belarusian Bulgarian catalão Chinês simplificado) Chinês tradicional) croata checo dinamarquês Dutch Inglês estoniano filipino Finnish French
Galego georgiano German grego crioulo haitiano hebraico hindi húngaro islandês Indonesian irlandês Italian Japanese Korean letão lituano macedónio Malay maltês Norwegian
persa polonês Portuguese romeno Russian sérvio Slovak esloveno espanhol swahili sueco tailandês turco ucraniano urdu vietnamita galês ídiche bengali bósnio
cebuano esperanto gujarati hausa hmong igbo javanês kannada khmer lao latino maori marata mongol Nepali punjabi somali tâmil telugu yoruba
zulu
Английский francês Alemão Italiano Португальский russo Espanhol