Форум: "Начинающим";
Текущий архив: 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