События генерируются, но отфильтровываются vcl-ем, для перехвата нужно
поймать сообщение CM_WANTSPECIALKEY и там вернуть 1 для тех кнопок, которые
нужно перехватывать...
В хидере пишем:
protected:
virtual void __fastcall CMWantSpecialKey(TCMWantSpecialKey& msg);
BEGIN_MESSAGE_MAP
VCL_MESSAGE_HANDLER(CM_WANTSPECIALKEY, TCMWantSpecialKey, CMWantSpecialKey)
END_MESSAGE_MAP(inherited)
В коде:
void __fastcall TDesignWindow::CMWantSpecialKey(TCMWantSpecialKey& msg)
{
inherited::Dispatch(&msg);
//!nb catch this message if we want to process special keys
switch (msg.CharCode) {
case VK_LEFT:
case VK_RIGHT:
case VK_UP:
case VK_DOWN:
msg.Result = 1;
break;
}
}
Vladislav V Kornienko 2:5000/170.6
Предыдущий вопрос
|
|
Следующий вопрос
источник
by jenyok
|