Տուն
Top.Mail.Ru Moscow
Ֆորում: «Գլխավոր»;
Ընթացիկ արխիվը `2002.01.08;
Բեռնել: [xml.tar.bz2];

Down

Ինչպե՞ս այնպես անել, որ TEdit- ը ստեղնաշար չպատճառի, երբ ստեղնաշարի գործիչը միացված է: Գտնել նմանատիպ մասնաճյուղեր


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

Հոգնել այս դժվարությունից և չգիտեք ինչպես պայքարել: TEdit- ում ես օգտագործում եմ OnKeyDown ստեղնաշարի գործարկիչը: Ես բռնում եմ ստեղները, ինչպիսիք են Enter- ը, Escape- ը և այլն: Նման ստեղները սեղմելուց հետո ձայնային ազդանշան է հնչում: Եթե ​​կա ձայնային քարտ, ապա ձայնային սխեմայի շարքից ազդանշանը, եթե ոչ, ապա համակարգչային բարձրախոսն աշխատում է: Օգտատերերը գոռգոռում են, ես նստած եմ նրանց հետ, կուլիչ: Համակարգիչները բարձրանալը և խոսնակները անջատելը կարծես ոչ ենթական են: Ինչպե՞ս կոտրել այն:



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

Բանալին ՝ = # 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]

> Վիկտոր Շչերբակով © (18.12.01 13: 04)

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



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

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



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

> Վիկտոր Շչերբակով © (18.12.01 13: 09)

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

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

(I.e.



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

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



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

TMyEdit= class(TEdit)
...
ընթացակարգ KeyPress (var Key: Char); անտեսում;
...
վերջ;

procedure TMyEdit.KeyPress(var Key: Char);
սկսել
գործի բանալին
#1..#12,#14..#26,#28..#255:;
else key:=#0;
վերջ;
վերջ;


и не "пищат".



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

աշխատանք



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 ) один раз

ընթացակարգ KeyPress (var Key: Char); անտեսում;

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



Էջեր: 1 ամբողջ ճյուղը

Ֆորում: «Գլխավոր»;
Ընթացիկ արխիվը `2002.01.08;
Բեռնել: [xml.tar.bz2];

Up









Հիշողություն `0.61 ՄԲ
Ժամանակը `0.033 գ
1-22205
Դենիս Պրոշկին
2001-12-15 12:46
2002.01.08
QReport - շատ տվյալներ


3-21922
Stas
2001-11-29 12:50
2002.01.08
BDE


14-22337
Alexandr
2001-11-05 13:20
2002.01.08
Տպիչ Server DP-101 (D-Link) եւ տպագրության տակ DOS- ից


3-21928
kaif
2001-12-04 17:42
2002.01.08
Վերականգնման ժամանակ թվաբանական արտահոսք կամ լարային կրճատում


1-22106
Andrey196
2001-12-19 18:24
2002.01.08
Ներողություն խնդրելու համար, թե ինչպես տպել պատկերը





afrikaans ալբանական արաբական հայերեն ադրբեջանական Բասկերի Բելառուսի Բուլղարիայի catalan Չինարեն (պարզեցված) Չինարեն (ավանդական) Խորվաթիայի չեխ դանիերեն հոլանդական Անգլերեն
Էստոնիայի filipino ֆիններեն ֆրանսերեն
galician վրացական գերմանական հունարեն haitian Creole եբրայերեն հինդի հունգարերեն icelandic հայերեն իռլանդական իտալական ճապոնացի Կորեայի Լատվիայի Լիտվայի մակեդոներեն Մալայերեն մալթերեն նորվեգական
պարսկական Լեհաստանի պորտուգալացի ռումինական ռուսական սերբերեն Սլովակիայի Սլովենիայի իսպաներեն սուահիլի շվեդերեն թայերեն թուրքական ուկրաինական ուրդու վիետնամերեն ուելսերեն հայերեն bengali բոսնիերեն
Cebuano Esperanto գուջարաթի հաուսա Hmong Igbo ճավաերեն kannada Khmer Lao լատիներեն մաորի մարաթի մոնղոլական նեպալերեն Punjabi Somali tamil telugu յորուբա
զուլուսերեն
Անգլերեն Французский Немецкий Итальянский Португальский Русский Испанский