casa
Top.Mail.Ru Yandeks.Metrika
Forum: "Principale";
Archivio attuale: 2002.01.08;
Scarica: [xml.tar.bz2];

giù

Come rendere TEdit non generare un segnale acustico quando il gestore della sequenza di tasti è attivo. Trova rami simili


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

Ho stancato questo trabl e non so come combattere. In TEdit, utilizzo il gestore di tasti OnKeyDown. Prendo i tasti come Enter, Escape e altri. Dopo aver premuto questi tasti, viene emesso un segnale acustico. Se c'è una scheda audio, quindi il segnale dal set di suoni impostato, in caso contrario, quindi l'altoparlante del computer funziona. Gli utenti ululano, mi siedo con loro, ululano anche loro. Arrampicarsi nei computer e tagliare gli altoparlanti mi sembra antisportivo. Come calpestarlo?



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

Chiave: = # 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)
...
procedura KeyPress (var Key: Char); ignorare;
...
End;

procedure TMyEdit.KeyPress(var Key: Char);
iniziare
chiave di caso di
#1..#12,#14..#26,#28..#255:;
chiave else: = # 0;
End;
End;


и не "пищат".



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

work ?



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

Prova questo:
procedure TfDocEdit.FormKeyPress(Sender: TObject; var Key: Char);
iniziare
se (Chiave = #27) allora
iniziare
Chiave: = # 0;
if (fDocEdit.ActiveControl is TEdit) then
iniziare
TEdit(fDocEdit.ActiveControl).Text := vPrevValue;
TEdit(fDocEdit.ActiveControl).Modified := False;
fine;
fine;
se (Chiave = #13) allora
iniziare
Chiave: = # 0;
Eseguire (WM_NEXTDLGCTL, 0,0);
fine;
fine;



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]

Чуваки, всем спасибо. Не пищит комбинация с
chiave di caso di
#13: begin
...
fine;
chiave else: = # 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 ) один раз

procedura KeyPress (var Key: Char); ignorare;

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



Pagine: 1 tutto il ramo

Forum: "Principale";
Archivio attuale: 2002.01.08;
Scarica: [xml.tar.bz2];

al piano di sopra









Memoria: 0.87 MB
Ora: 0.031 c
4-22467
ombra
2001-11-01 15:46
2002.01.08
TOPMOSTS


7-22427
KLM
2001-09-20 06:34
2002.01.08
Protezione dalla copia


6-22284
Delirio
2001-10-08 16:29
2002.01.08
Come inviare un messaggio immediatamente a tutti gli indirizzi IP


3-21900
vano
2001-12-07 11:13
2002.01.08
TString e String


6-22306
Mamed
2001-10-09 12:57
2002.01.08
L'attivazione della vecchia finestra del programma viene avviata 2 th time





afrikaans albanese Arabic armeno Azero basco bielorusso Bulgarian catalano Cinese (semplificato) Cinese (tradizionale) croato Ceco danese Dutch Inglese estone filippina Finnish Francese
galiziano georgiano Tedesco greco Creolo haitiano ebraico hindi ungherese islandese Indonesian irlandese Italiano Giapponese Korean lettone lituano macedone Malay maltese Norwegian
persiano polacco Portoghese rumeno Russian serbo Slovak sloveno Spagnolo swahili Swedish Thai turco ucraino Urdu vietnamita gallese yiddish bengalese bosniaco
Cebuano esperanto Gujarati Hausa Hmong Igbo giavanese kannada khmer lao latino maori marathi mongolo nepali punjabi somalo tamil telugu Yoruba
zulù
Английский Francese tedesco italiano portoghese russo spagnolo