Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: CL | DM;

Вниз

KOL - 2.10 - KeyPreview   Найти похожие ветки 

 
raskin ©   (2005-08-10 21:30) [0]

В Kol 2.10 мне не удалось по умолчанию настроить KeyPreview в PAS_VERSION  (FPC, KOL для Delphi, Win98). Предлагаю следующее изменение: в TControl.WndProc, проверку FHandle=GetFocus() не производить, если сообщение WM_KEYDOWN (эта проверка введена для WM_KEYUP, судя по комментариям). Возможно, как я пока сделал, для надёжности добавить переменную типа longint с именем KeyPreviewCounter и перед передачей с 3960? й строки ParentForm.Perform, увеличивать KeyPreviewCounter, а при обработке TControl.WndProc в случае FHandle<>GetFocus() уменьшать KeyPreviewCounter (если он положителен) и поступать по-старому (прекращать обработку), если он 0


 
thaddy   (2005-08-10 23:13) [1]

You can simply handle WM_KEYUP in a global OnMessage handler.
If you set result:=true, the key is silenty removed:

Like:
function TForm1.DoMessage(var Msg:TMsg;var Rslt:integer):Boolean;
begin
 Result:=false;
 // ignore escape
 if (msg.message = WM_KEYUP) and (msg.wparam = VK_ESCAPE) then result:=true;
end;


 
raskin ©   (2005-08-11 13:08) [2]

Really I"ve no problem with Redundant WM_KEUP"s, but the problem was with the KeyPreviewing. I"ve found the solution that "works for me", but found it useful to share found information - I hope it"llbe useful for everyone to know about the problem (and the way to solve it).



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

Текущий архив: 2006.04.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.043 c
4-1137242738
Volf_555
2006-01-14 15:45
2006.04.02
Как в ран-тайме добавить в попап-меню расширенное меню?


2-1142507888
Officeman
2006-03-16 14:18
2006.04.02
Как Попасть в нужный Квадрат? )))))


15-1141833486
grisme
2006-03-08 18:58
2006.04.02
Интеллигенция VS Пролетарий


1-1141280201
Димон
2006-03-02 09:16
2006.04.02
запуск Оутлук с адресом из таблицы


9-1127387920
Signate
2005-09-22 15:18
2006.04.02
Ландшафт