Текущий архив: 2003.09.11;
Скачать: CL | DM;
Вниз
Как по ESC закрыть форму, причем не важно, где находится курсор Найти похожие ветки
← →
Layner (2003-09-01 08:59) [0]в элементах управления, меню, Edit, Memo и т.п. Заранее спасибо.
← →
Song (2003-09-01 09:03) [1]TForm.KeyPreview:=True
и TForm.onKeyDown + VK_ESCAPE
← →
wl (2003-09-01 09:05) [2]1)Свойство формы KeyPreview = true
и обрабатывать событие OnKeyDown
2)Если форма модальная, поставить на неё кнопку со свойством Cancel = true.
← →
Song (2003-09-01 09:07) [3]2wl © (01.09.03 09:05) [2]
>> Если форма модальная, поставить на неё кнопку со свойством Cancel = true.
Не поможет, если активный контрол TMemo
← →
Layner (2003-09-01 09:09) [4]Да, форма как раз модальная.
← →
Юрий Зотов (2003-09-01 09:09) [5]Если есть кнопка "Закрыть", то назначьте ей Cancel=True. Если форма модальная, то назначьте еще и ModalResult = mrCancel, а если не модальная, то в обработчике OnClick напишите Close.
Если такой кнопки нет, то выставьте KeyPreview, а в обработчике OnKeyDown напишите:
if Key = VK_ESCAPE then
begin
Key := 0;
Close // или ModalResult := mrCancel
end;
← →
Layner (2003-09-01 09:22) [6]Спасибо, но
На форме много элементов, форма модальная. Как только форма создаётся, фокус сразу принадлежит Memo, и .. не закрывает.
← →
папа карло (2003-09-01 09:25) [7]Удалено модератором
← →
Layner (2003-09-01 09:27) [8]А, всё, KeyPreview забыл. Спасибо!
← →
Song (2003-09-01 09:27) [9]Напиши это условие на TMemo.onKeyDown
← →
Song (2003-09-01 09:29) [10]2Layner
Вот каждый ответивший в тред написал тебе что надо KeyPreview использовать, а ты всё равно забыл..
← →
Layner (2003-09-01 09:31) [11]Да нет, я так вчитался в совет Юрия Зотова, что строчку там пропустил. Ещё раз прошу прощения за свою не сообразительность :)
← →
Dred2k (2003-09-01 09:53) [12]Просто сделай TAction с шорткатом Esc. Сработает по-любому.
Страницы: 1 вся ветка
Текущий архив: 2003.09.11;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.008 c