//---------------------------------------------------------------------------
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
bool &Handled)
{
if(Msg.message == WM_SYSKEYDOWN)
Label1->Text = "Клавиши F1-F10: "+AnsiString(Msg.wParam);
if(Msg.message == WM_KEYDOWN)
{
Label1->Text = "Стрелки и другие клавиши: "+AnsiString(Msg.wParam);
Handled = true;
}
}
TButton и OnKeyDown
Такая вот проблемка... Когда фокус ввода у TButton и я нажимаю клавиши LEFT, RIGHT, UP, DOWN, ENTER, не вызывается обработчик события OnKeyDown. Пробовал делать его обработчик и для Button и для формы. Причем нажатия остальных клавишь фиксируются нормально. Из-за чего такое происходит и как это обойти?
Цитата:
Originally posted by gnome
Здравствуйте, друзья!
Такая вот проблемка... Когда фокус ввода у TButton и я нажимаю клавиши LEFT, RIGHT, UP, DOWN, ENTER, не вызывается обработчик события OnKeyDown. Пробовал делать его обработчик и для Button и для формы. Причем нажатия остальных клавишь фиксируются нормально. Из-за чего такое происходит и как это обойти?
Здравствуйте, друзья!
Такая вот проблемка... Когда фокус ввода у TButton и я нажимаю клавиши LEFT, RIGHT, UP, DOWN, ENTER, не вызывается обработчик события OnKeyDown. Пробовал делать его обработчик и для Button и для формы. Причем нажатия остальных клавишь фиксируются нормально. Из-за чего такое происходит и как это обойти?
Для начала в форме KeyPreview = true;
Цитата:
Originally posted by AlexandrVSmirno
Для начала в форме KeyPreview = true;
Для начала в форме KeyPreview = true;
На стрелки не реагирует. Попробуй сделать HOOK.
Цитата:
Originally posted by AlexandrVSmirno
На стрелки не реагирует. Попробуй сделать HOOK.
На стрелки не реагирует. Попробуй сделать HOOK.
А можно еще так:
Код:
ЗЫ: Это называется тихо сам с собою.
Цитата:
Originally posted by AlexandrVSmirno
А можно еще так:
ЗЫ: Это называется тихо сам с собою.
А можно еще так:
Код:
//---------------------------------------------------------------------------
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
bool &Handled)
{
if(Msg.message == WM_SYSKEYDOWN)
Label1->Text = "Клавиши F1-F10: "+AnsiString(Msg.wParam);
if(Msg.message == WM_KEYDOWN)
{
Label1->Text = "Стрелки и другие клавиши: "+AnsiString(Msg.wParam);
Handled = true;
}
}
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg,
bool &Handled)
{
if(Msg.message == WM_SYSKEYDOWN)
Label1->Text = "Клавиши F1-F10: "+AnsiString(Msg.wParam);
if(Msg.message == WM_KEYDOWN)
{
Label1->Text = "Стрелки и другие клавиши: "+AnsiString(Msg.wParam);
Handled = true;
}
}
ЗЫ: Это называется тихо сам с собою.
Все заработало :)! Спасибо большое!