Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.015 c
4-49801
_Andrew_
2003-11-10 16:04
2004.01.16
Загрузка файла из ресурса


1-49490
YuN
2004-01-02 04:38
2004.01.16
Как проще всего поддерживать проект на разных языках?


3-49424
elshad_s
2003-12-17 17:34
2004.01.16
Не выполняется весь набор операций в транзакции


14-49744
JibSkeart
2003-12-24 15:24
2004.01.16
Гыы-гыы генератор киборгов :))


1-49522
edicon
2004-01-03 02:16
2004.01.16
BMP в ICO




   Наверх