Как отловить системное событие? [решено]

Вопросы программирования и использования MSEide + MSEgui.

Модератор: Модераторы

Ответить
t-ea
новенький
Сообщения: 98
Зарегистрирован: 22.09.2006 00:22:34

Как отловить системное событие? [решено]

Сообщение t-ea »

Как отловить системное событие типа wm_XXXX?

Следующий тестовый код у меня не работает, то есть при нажатии клавиш счётчик не увеличивается.

Код: Выделить всё

type
 tmainfo = class(tmainform)
   dsp: tintegerdisp;
   procedure wmkeydown(var Msg: TMessage); message wm_KeyDown;
 end;

procedure tmainfo.wmkeydown(var Msg: TMessage);
begin
 dsp.Value:=dsp.Value + 1;
end;


Где/что/как исправить?
Последний раз редактировалось t-ea 06.12.2013 13:03:14, всего редактировалось 1 раз.
Аватара пользователя
debi12345
долгожитель
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение debi12345 »

procedure wmkeydown(var Msg: TMessage); message wm_KeyDown;

А что - консольные проги умеют отлавливать GUI-события ? Возможно в Вашем (GUI) случае нужен перехватичик "tmseforn.OnKeyDown" (есть в инспекторе объектов).
mse
новенький
Сообщения: 68
Зарегистрирован: 08.08.2013 15:40:31

Сообщение mse »

There is tform.onsysevent and tform.onsyswindowevent, add mseguiintf to uses. Not recommended because it is platform dependent and can affect performance. Better to use tform.onkeydown as debi12345 writes.
t-ea
новенький
Сообщения: 98
Зарегистрирован: 22.09.2006 00:22:34

Сообщение t-ea »

WM_KEYDOWN просто для теста, чтобы посмотреть почему не работает тот код, который мне нужен.
В программе предполагаю использовать WM_DEVICECHANGE.
mse
новенький
Сообщения: 68
Зарегистрирован: 08.08.2013 15:40:31

Сообщение mse »

OK, please try "onsysevent".
Jack02
незнакомец
Сообщения: 1
Зарегистрирован: 22.01.2014 12:50:30

Сообщение Jack02 »

create an integer field which holds the color index, possibly it is a fkCalculated or fkInternalCalc field.
Ответить