Вниз
Скачать: CL | DM;

Пишу наследника TMemo...   Найти похожие ветки 

← →
Dimedrol ©   (2002-05-31 17:12) [0]

Коллеги, вот такая грабля...
Делаю сабж и перекрываю у него
обработчики


private
{ Private declarations }

FOnCTRL : TCTRLEvent;

procedure WMKeyUp(var Message: TWMKeyUp); message WM_KeyUp;
procedure WMKeyDown(var Message: TWMKeyDown); message WM_KeyDown;
// procedure WMChar(var Message: TWMChar); message WM_CHAR;
protected



Мне нужно отловить нажатие одного CTRL
так вот же, у Мемо, как известно есть свои события
OnKeyUp, OnKeyDown и т.п.


Моя процедура выглядит так


procedure TPetitMemo.WMKeyUp(var Message: TWMKeyUp);
begin
with TMessage(Message) do
begin
if (WPARAM=17) and (not IsBitSet(KBD_STAT, 1)) then
begin
if Assigned(OnCTRL) then
OnCTRL(Self); // Calling Event !
KBD_STAT:=0; //CTRL is released - reset all values
end;

if (WPARAM<>17) and (not IsBitSet(KBD_STAT, 0)) then BitOff(KBD_STAT, 1);
if WPARAM=17 then KBD_STAT:=0; //CTRL is released - reset all values
end;

Inherited DefaultHandler(Message);
end;



Вроде и Inherited делаю, а в результате события от TMemo OnKeyUp, OnKeyDown
пропадают. То есть они НЕ НАСТУПАЮТ в программе... ;-(

Где я накозлил ?


И еще вот, вдогонку -
А как перехватить ALT ?
Что-то не могу никак....


← →
Dimedrol ©   (2002-06-03 10:54) [1]

Что... никто не знает ;-(


← →
Виктор ©   (2002-06-03 11:57) [2]

попробуй заменить
Inherited DefaultHandler(Message);
на
Inherited;


← →
vlv ©   (2002-06-03 12:06) [3]

Для таких вещей лучше переопределять обработчик CN_KEYDOWN:
procedure CNKeyDown(var Message: TWMKeyDown); message CN_KEYDOWN;


← →
Dimedrol ©   (2002-06-03 17:34) [4]

Спасибо, Виктор, помогло !



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

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



Память: 0.46 MB
Время: 0.006 c
6-40141
Serd_hhc
2002-03-30 13:44
2002.06.13
Как написать свой Server (типа TServerSocket) с uses WinSock?


14-40186
Дремучий
2002-05-07 22:28
2002.06.13
cat


14-40171
Olegoz
2002-05-12 01:57
2002.06.13
RAR


6-40129
ATLANTIDO
2002-04-02 00:36
2002.06.13
UDP


6-40131
EskimOS
2002-04-03 11:15
2002.06.13
Как определить получает ли адаптер пакеты из сети...?




   Наверх