Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.49 MB
Время: 0.017 c
1-49531
Brut
2004-01-02 20:51
2004.01.16
Сортировка элементов TListBox вручную


3-49390
Denis555
2003-12-19 19:03
2004.01.16
TTable не хочет отправлять изменения на MSSQL


1-49506
Эли
2004-01-02 10:42
2004.01.16
Вернуть активность собственной форме


1-49511
Олег С.
2003-12-23 14:48
2004.01.16
Меню как в Delphi (Bar с меню, подвижный, съемный)


14-49704
MadAngel
2003-12-25 16:14
2004.01.16
Помогите с The Bat om