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

Вниз

Закрытие формы из другой формы   Найти похожие ветки 

 
vitge   (2010-12-14 17:19) [0]

Вопрос по сути как-бы елементарный, но по событию onPressKeydown розмещенному на модуле формы 1, ставится закрытие другой Form4.close но этого не происходит. Но по другому событию это  проиходит, по таймеру например. Ссылка в юните на другую форму имеется. Мистика какае-то. Спасибо за помощь.


 
stas ©   (2010-12-14 17:23) [1]

значит форма не перехватывает событие onPressKeydown.
Используй ActionList


 
И. Павел ©   (2010-12-14 17:25) [2]


> onPressKeydow

А какое точно событие: OnKeyPress или OnKeyDown? Может быть, обработчик и не вызывается (например, нажата клавиша insert и т.п.) или событие ловится компонентом, который сейчас в фокусе, а не формой?


 
mahab ©   (2010-12-14 17:31) [3]


> И. Павел ©



> или событие ловится компонентом, который сейчас в фокусе,
>  а не формой

То есть не включено свойсво формы ketpreview


 
vitge   (2010-12-14 17:31) [4]

Кажется понял почему Форме 4 активна, и соответственно не воспринимается
onPressKeydown. Попробывал через applicationEventsShortCUT все получилось. Но возникла ситуация - мне надо чтобы реакция была через комбинацию клавиш CTRL+1 , а там через только один код. Есть возможность такой обработки при нажатой клавише (ctl,alt ...)?


 
mahab ©   (2010-12-14 17:32) [5]

Виноват keypreview


 
mahab ©   (2010-12-14 17:40) [6]

Посмотри Registerhotkey проста в использованиии.После регистрации
отлавливай типа WMhotkey(var mes); message WM_hotkey


 
Leonid Troyanovsky ©   (2010-12-14 19:56) [7]


> vitge   (14.12.10 17:31) [4]

> все получилось. Но возникла ситуация - мне надо чтобы реакция
> была через комбинацию клавиш CTRL+1 , а там через только
> один код. Есть возможность такой обработки при нажатой клавише
> (ctl,alt ...)?


procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey;
 var Handled: Boolean);
begin
 if Msg.CharCode = ORD("1") then
   if GetKeyState(VK_CONTROL) and $8F <> 0 then
     Form2.Close;
end;

--
Regards, LVT.


 
vitge   (2010-12-15 17:51) [8]

Спасибо LVT и mahab за помощь. Есть ли можно на последок,
что означает and $8F <> 0 .... Заранее благодарен.


 
Ega23 ©   (2010-12-15 17:57) [9]


> что означает and $8F <> 0

не and $8F <> 0, а GetKeyState(VK_CONTROL) and $8F <> 0
Или, если со скобочками, то (GetKeyState(VK_CONTROL) and $8F) <> 0


 
vitge   (2010-12-15 20:58) [10]

Теперь более  ясно. Спасибо.


 
Leonid Troyanovsky ©   (2010-12-16 05:50) [11]


> vitge   (15.12.10 17:51) [8]
 
> что означает and $8F <> 0

Ну, во-ще-то, должно быть $80, т.е. проверяем старший бит, 10000000,
sorry.

--
Regards, LVT.


 
vitge   (2010-12-17 20:26) [12]

Вот теперь совсем замечательно.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2011.03.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.005 c
15-1290852684
Чайник
2010-11-27 13:11
2011.03.06
Удалить файл


2-1292508375
Scott Storch
2010-12-16 17:06
2011.03.06
очистить xml-файл


15-1290457835
stas
2010-11-22 23:30
2011.03.06
TIcon сохранить в файл


2-1292171520
v_a_belousov
2010-12-12 19:32
2011.03.06
Отправка письма


4-1245942576
erglnu
2009-06-25 19:09
2011.03.06
TrackPopupMenu + Трей - Меню не убирается((





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский