![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
горячие клавиши [D5, Win95/98]
MegaVoltik © (2002-12-10 17:54:00)как сделать чтоб по нажатию <Enter> на модальной форме нажималась кнопка ОК, а по нажатию <ESC> кнопка Cancel?
вот этот код не работает;(
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
case Key of
VK_Escape: btnCancel.Click;
VK_Return: btnOK.Click;
end;
end;
MegaVoltik (2002-12-10 20:43:00) [1]тогда всем большое спасиба, особенно Юре Зотову
Юрий Зотов (2002-12-10 19:56:00) [2]Вы какой вопрос задавали?
> как сделать чтоб по нажатию <Enter> на модальной форме
> нажималась кнопка ОК, а по нажатию <ESC> кнопка Cancel?
И как же он увязывается с Вашим постингом (10.12.02 19:48)?
Никак. Так что Вы уж определитесь, что же Вам все-таки нужно - ехать или шашечки?
MegaVoltik (2002-12-10 19:48:00) [3]но вот проблема когда на форме есть другой элемент управления, который имеет фокус ввода, то после завершения редактирования нажатием клавиши <Enter>, нажимается кнопка ОК, и закрывается форма, а если мне нужно продолжать редактировать другой элемент? как быть? снова открывать модальное окно??
Skier (2002-12-10 18:19:00) [4]>FreeLancer
Да точно ! Св-во Cancel вылетело из головы...:)
>MegaVoltik
см. FreeLancer © (10.12.02 18:15)
Юрий Зотов (2002-12-10 18:17:00) [5]> Самый простой вариант поставить у btnOK.Default := True
... а у кнопки btnCancel поставить Cancel = True.
И больше ничего не требуется. Никаких KeyPreview и никаких обработчиков.
FreeLancer (2002-12-10 18:15:00) [6]для TButton и TBitBtn:
btnCancel.Cancel := true;
btnOK.Default := true;
Skier (2002-12-10 18:00:00) [7]>MegaVoltik
А вариант с VK_Escape должен работать...
Попробуй поставить у формы KeyPreview := True
Skier (2002-12-10 17:57:00) [8]>MegaVoltik
> как сделать чтоб по нажатию <Enter> на модальной форме нажималась
> кнопка ОК
Самый простой вариант поставить у btnOK.Default := True