![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Передача фокуса компоненту [D7, WinXP]
Tempo © (2004-07-03 16:00:00)Только заметил одну неприятную вещь, от которой не могу избавиться.
Есть на форме компонент, скажем Edit1, и есть еще одна кнопка. Нужно при нажатии кнопки Enter на компоненте Edit1 передать фокус кнопке.
Пишу:
procedure Tadd_project.edit1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if Key=13 then FindNextControl(Sender as TWinControl,true,true,false).SetFocus;
end;
Все работает, НО при нажатии Enter издается неприятный звук (щелчек, как при ошибки Windows). Как от этого избавиться?
И еще как при нажатии кнопки ESC на любом компоненте формы, чтобы она закрывалась?
Tempo (2004-07-03 17:01:00) [1]Огромное спасибо, как все оказалось просто. Я стормозил.
TUser (2004-07-03 16:51:00) [2]или actions
Семен Сорокин (2004-07-03 16:23:00) [3]при нажатии Enter издается неприятный звук (щелчек, как при ошибки Windows). Как от этого избавиться?
if Key=13 then FindNextControl(Sender as TWinControl,true,true,false).SetFocus;
Key := 0
И еще как при нажатии кнопки ESC на любом компоненте формы, чтобы она закрывалась?
Form.KeyPreview = true
в onKeyDown
if Key = VK_ESCAPE then
Close
или если есть кнопка отвечающая за закрытие - выставить у нее св-во Cancel = true