Вниз
Скачать: CL | DM;

Запрет звука по нажатию Enter   Найти похожие ветки 

← →
Semen   (2010-09-07 07:07) [0]

Есть обычное поле TEdit.
1.Когда в нем нажимаеш Enter Windows XP издает звук.
2.Когда доходиш до максимальной допустимой длинны поля и больше нельзя ввести символы (например когда MaxLength свойство = 3).
Как зделать так,чтобы его не было.
В смысле чтобы не отключать в самом Windows-e звук,
а отключить событие воспроизведения звука по нажатию Enter у меня в программе.


← →
Ser001   (2010-09-07 07:43) [1]

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if key=Char(VK_RETURN) then
 begin
   key:=#0;
 end;
end;


← →
Leonid Troyanovsky ©   (2010-09-07 07:53) [2]


> Semen   (07.09.10 07:07)  

> Как зделать так,чтобы его не было.

Это реакция эдита на illegal characters или превышение
допустимой длины. Для обращения внимания юзера.

Вообще-то, в диалогах клавиши Enter, Esc играют
специальную роль - для нажатия default & cancel
button и в этом случае в эдиты не попадают.

Ну, если очень хочется, можно в OnKeyPress:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 with Sender as TEdit do
  if (Key in [ #13,#27]) or
     ((Length(Text) = MaxLength) and (SelLength = 0) and (Key <> #8)) then
    Key := #0;
end;

--
Regards, LVT.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.005 c
2-1283338021
azamatufa
2010-09-01 14:47
2010.11.28
DBE forever )


2-1283417744
ddd329
2010-09-02 12:55
2010.11.28
Проблема с RadioButton


2-1283177453
Fr
2010-08-30 18:10
2010.11.28
Остановка потока


2-1283274103
oleg_teacher
2010-08-31 21:01
2010.11.28
sql+if


15-1282541332
12
2010-08-23 09:28
2010.11.28
Сообщения. Уведомления об изменениях других окон




   Наверх