Текущий архив: 2004.01.16;
Скачать: CL | DM;
Вниз
F1 Найти похожие ветки
← →
Марат (2004-01-06 12:57) [0]В проекте 3 формы, открывающиеся последовательно. Необходимо, чтобы при нажатии на F1 срабатывало бы событие (например, showmessage("*****")). Если прописываю событие 1 формы (KeyDown) procedure TForm1.KeyDown(...);
begin
if Key=vk_F1 then Showmessage("*****");
end;
то при переходе на 2 или 3 форму это свойство исчезает.
Как сделать так, чтобы это свойство работало во всем проекте, независимо от того на какой форме и на каком объекте этой формы сейчас находится пользователь?
← →
Sandman25 (2004-01-06 13:01) [1]Написать форму - предок всех форм, где нужна эта обработка.
Перекрыть DoKeyDown, если не ошибаюсь.
← →
Sandman25 (2004-01-06 13:03) [2]Ошибся.
Лучше просто KeyDown.
← →
Тимохов (2004-01-06 13:08) [3]А может не надо заморачиваться с обработкой событий?
Может в предке паписать Action с Shortcut"ом?
← →
Sandman25 (2004-01-06 13:09) [4]Тоже вариант.
← →
Марат (2004-01-06 13:24) [5]Вы, ребята, классно пообщались. А для beginerов можете чуть поподробнее.Я не понял куда и кого.
← →
Sandman25 (2004-01-06 13:26) [6]http://delphi.mastak.ru/articles/parentform/index.html
http://www.delphimaster.ru/articles/repuseforms/index.html
← →
Тимохов (2004-01-06 13:26) [7]Бегинер бряд ли может сделать более одной формы.
Знать ты не бегинер.
Но все же
Про обработку событий что нить слышал?
Про наследование объектов и формы, в частности, слышал?
Ответь, будем давать ответы по мере твоего непонимания отдельных моментов.
← →
Марат (2004-01-06 13:32) [8]Про событие KeyDown 1 формы (она же главная) я вкурсе. Просто получается так, что событие Showmessage("*****") на этой форме срабатывает здорово, а при переходе на 2 форму нет, особенно если при активизации 2 формы первой активизируется какая-нибудь button1.
← →
Тимохов (2004-01-06 13:34) [9]Сделай предка для всех форм и там обрабатывай указанное событие.
← →
Sandman25 (2004-01-06 13:37) [10][9] Тимохов © (06.01.04 13:34)
Теперь он сделает в предке обработчик OnKeyDown, а потом будет просить сделать так, чтобы его можно было переопределить в наследнике. Лучше уже сразу правильно учить ИМХО.
[8] Марат (06.01.04 13:32)
Статьи почитайте. Чтобы в следующий раз с похожей проблемой не мучиться.
← →
Марат (2004-01-06 13:38) [11]В смысле 1 форму сделать родительской, а остальные дочерними?
← →
Sandman25 (2004-01-06 13:40) [12][11] Марат (06.01.04 13:38)
Нет. Сделать новую форму. А все Ваши формы (которые должны реагировать на F1 таким образом) наследовать от нее.
← →
Романов Р.В. (2004-01-06 13:45) [13]http://www.delphi.hostmos.ru/index.php?stat&stat=12
← →
zapped (2004-01-06 15:09) [14]2Марат (06.01.04 13:32) [8]
особенно если при активизации 2 формы первой активизируется какая-нибудь button1.
KeyPreview формы в true
Страницы: 1 вся ветка
Текущий архив: 2004.01.16;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.014 c