منزل
Top.Mail.Ru Yandeks.Metrika
المنتدى: "Main";
الأرشيف الحالي: 2002.01.08;
تنزيل: [xml.tar.bz2];

إلى

كيفية جعل TEdit لا يولد صوتًا عند تشغيل معالج ضغط المفاتيح. البحث عن فروع مماثلة


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;
...
الغاية؛

procedure TMyEdit.KeyPress(var Key: Char);
بدأ
مفتاح القضية من
#1..#12,#14..#26,#28..#255:;
else key:=#0;
الغاية؛
الغاية؛


и не "пищат".



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

work ?



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

جرب هذا:
procedure TfDocEdit.FormKeyPress(Sender: TObject; var Key: Char);
بدأ
if (Key = #27) then
بدأ
المفتاح: = # 0 ؛
if (fDocEdit.ActiveControl is TEdit) then
بدأ
TEdit(fDocEdit.ActiveControl).Text := vPrevValue;
TEdit(fDocEdit.ActiveControl).Modified := False;
الغاية؛
الغاية؛
if (Key = #13) then
بدأ
المفتاح: = # 0 ؛
Perform(WM_NEXTDLGCTL,0,0);
الغاية؛
الغاية؛



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]

Чуваки, всем спасибо. Не пищит комбинация с
مفتاح القضية من
#13: begin
...
الغاية؛
else key:=#0;
الغاية؛
в 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 فرع كامل

المنتدى: "Main";
الأرشيف الحالي: 2002.01.08;
تنزيل: [xml.tar.bz2];

الطابق العلوي









الذاكرة: 0.61 ميغابايت
الوقت: 0.033 ج
1-22016
سفينة ضخمة
2001-12-13 23:05
2002.01.08
شكل المظهر


14-22354
عدو
2001-10-08 13:02
2002.01.08
موبايل


1-22125
Dimass
2001-12-19 23:34
2002.01.08
الرجاء مساعدتي .....


6-22298
karafuto
2001-10-11 14:00
2002.01.08
لماذا تحتاج TIdAntiFreeze (InDy)؟


3-21914
أكسل
2001-12-03 18:05
2002.01.08
سؤال على ميداس.





الأفريكانية الألبانية عربي الأرميني أذربيجان الباسكي البيلاروسية Bulgarian التشيكية الصينية المبسطة) تقاليد صينية) الكرواتية التشيكية دانماركي Dutch أنجليزي الإستونية الفلبينية Finnish جيب
الجاليكية الجورجية الألمانيّة اليونانيّة الكريولية الهايتية اللغة العبرية الهندية الهنغارية أيسلندي Indonesian الأيرلندية Italian اليابانيّة الكوريّة اللاتفية اللتوانية المقدونية الملايو المالطية Norwegian
اللغة الفارسية بولنديّة البرتغاليّة رومانية Russian صربي السلوفاكيّة سلوفيني إسباني السواحيلي Swedish Thai التركية الأوكراني الأردية الفيتنامية ويلزي اليديشية البنغالي البوسنية
السيبيونو الاسبرانتو الغوجاراتية الهوسا همونغ الإيبو جاوي الكانادا الخمير لاو لاتينية الماوري المهاراتية المنغولية النيبالية البنجابية الصومالية التاميل التيلجو اليوروبا
زولو
Английский Французский ألماني Итальянский البرتغالية Русский Испанский