Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.011 c
3-49464
TATIANA
2003-12-17 15:28
2004.01.16
ДОБАВИТЬ ГРАФИЧЕСКОЕ ИЗОБРАЖЕНИЕ В BLOB-поле


1-49560
miracle_fox
2004-01-04 23:47
2004.01.16
есть фраза hello world


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


3-49462
shnurok
2003-12-17 16:11
2004.01.16
Проблема с отображением даты


3-49446
www
2003-12-18 11:56
2004.01.16
TUpdateSQL для 2-х таблиц





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский