mirek |
Отправлено: 03.06.2004, 10:03 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 3
|
Поставил на форме CppWebBrowser с Align==alClient. Форму надо закрывать по Esc. Поставил обработчик клавиш на TForm2::OnKeyDown.
Всё работает нормально, но когда я тыкаю мышкой в этот CppWB по Esc уже не выходит. |
|
AVC |
Отправлено: 03.06.2004, 10:25 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Form->KeyPreview = true; стоит?
У меня все работает. |
|
mirek |
Отправлено: 03.06.2004, 10:49 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 3
|
Да. В первый раз у меня тоже работает. |
|
AVC |
Отправлено: 03.06.2004, 14:36 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Тогда попробуйте отлавливать клавиши на уровне Application. Примерно так:
CODE |
class TForm1 : public TForm
{
private:
TMessageEvent FOldAppMessage;
void __fastcall AppMessage (tagMSG &msg, bool &handled);
};
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
FOldAppMessage = Application->OnMessage;
Application->OnMessage = AppMessage;
}
void __fastcall TForm1::AppMessage (tagMSG &msg, bool &handled)
{
if (msg.message == WM_KEYDOWN)
{ if (msg.wParam == VK_ESCAPE)
{ handled = true;
Memo1->Lines->Add("Esc");
return;
}
}
if (FOldAppMessage) FOldAppMessage(msg, handled);
}
|
Пример у меня работает. |
|
mirek |
Отправлено: 03.06.2004, 17:57 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 3
|
Спасибо. Всё заработало. |
|
Guest |
Отправлено: 08.06.2004, 16:35 |
|
Не зарегистрирован
|
А, как убрать стандартное контекстное меню IE? |
|