![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Edit не регирует на нажатие enter [D6, XP]
Max727 © (2007-04-10 10:18:00)Здравствуйте. Очень нужна помощь.
Впервые ствлкиваюсь с такой прблемой
при нажатии клавиши Enter не вызываются
обработчики событий ни KeyDown, ни KeyPress
компонента TEdit
как исправить такие глюки?
Max727 (2007-04-12 12:48:00) [1]2 _RusLAN
> А в Object Inspector на вкладке Events обработчик прописан?
да прописаны
событие вызывается для всех
кнопок, кроме EnEnter
но это уже не важно
в новом проекте все работет нормально
меня просто мучит вопрос:
из за чего такое могло быть?
_RusLAN (2007-04-11 17:53:00) [2]> [8] Max727 (11.04.07 17:32)
> Да,
> так обрабатывается
>
> И мой проект (я пересоздал заново)
> скопировал все обработчики
> заработал, что меня вогнало в тупик
> тексты модулей полностью идентичны
> но один проект работает(тот, что я только что создал)
> второй-нет
> я просто хотел разобраться в этой злой шутке
> но так и не понял причины поже еще не раз на те же грабли
> наступлю
А в Object Inspector на вкладке Events обработчик прописан?
Ega23 (2007-04-11 17:34:00) [3]
> тексты модулей полностью идентичны
У классика было "Не верю!"
Сам понимаешь, чудес не бывает.
Max727 (2007-04-11 17:32:00) [4]Да,
так обрабатывается
И мой проект (я пересоздал заново)
скопировал все обработчики
заработал, что меня вогнало в тупик
тексты модулей полностью идентичны
но один проект работает(тот, что я только что создал)
второй-нет
я просто хотел разобраться в этой злой шутке
но так и не понял причины поже еще не раз на те же грабли наступлю
Ega23 (2007-04-11 17:19:00) [5]
> Без разницы
> обрабатываются все клавиши кроме Enter
Врёшь.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_RETURN then Label1.Caption := 'Enter' else Label1.Caption := 'Not Enter';
end;
end.
Max727 (2007-04-11 17:08:00) [6]2 Ega23
> Form1.KeyPreview := True;
Без разницы
обрабатываются все клавиши кроме Enter
а как назло нужна именно она
Ega23 (2007-04-11 16:49:00) [7]
> программа упорно игнорирует нажатие этой клавиши
Form1.KeyPreview := True;
Max727 (2007-04-11 16:44:00) [8]Информация интересная, но конкрктных примеров нет
где взять эту очередь
и как ее переписать?
2 Steep
FormKeyPress тоже не вызывается
программа упорно игнорирует нажатие этой клавиши
Steep (2007-04-10 11:58:00) [9]procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
//KeyPreview := True;
if Key = #13 then
begin
ShowMessage('Key2');
Key := #0;
end;
end;
Leonid Troyanovsky (2007-04-10 10:30:00) [10]
> Max727 (10.04.07 10:18)
> как исправить такие глюки?
Сам ты глюки. Читай лучшего друга детей.
http://groups.google.com/group/fido7.ru.delphi.chainik/msg/9882c0fd38c38706
--
Regards, LVT.
tesseract (2007-04-10 10:29:00) [11]Это не глюк а нормальная работа компонента. Переписывай очередь сообщений для того чтобы поймать VK_ENTER.