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

Вниз

Как в TWebBrowser е включить бэкспэйс, чтобы возвращаться на   Найти похожие ветки 

 
Алекс А   (2004-07-10 03:33) [0]

предыдущую страницу ? Вместо TWebBrowser"а использую TEmbeddedWB.
Причём нажатия клавиш на браузере не отлавливаютя в TForm при включённом KeyPreview. И как отловить нажатие этой клавиши вообще непонятно.


 
nikkie ©   (2004-07-12 02:06) [1]

function TDMCChildForm.WebBrowserTranslateAccelerator(const lpMsg: PMsg;
 const pguidCmdGroup: PGUID; const nCmdID: Cardinal): HRESULT;
type
 PWMKey = ^TWMKey;
begin
 if lpMsg.message = WM_KEYDOWN then
   begin
     if MainForm.ActionList.IsShortCut(PWMKey(LongInt(lpMsg) + sizeof(HWND))^) then
       begin
         Result := S_OK;
         Exit;
       end;
   end;
 Result := S_FALSE;
end;


 
Алекс А   (2004-07-15 01:37) [2]


> nikkie ©   (12.07.04 02:06) [1]

Кнопку бэкспэйс этот код не отслеживает. Некоторые кнопки отслеживае, а именно эту нет. :) Вот что делать ? Как сам Интернет Эксплорер определяет нажатие на неё ?


 
Piter ©   (2004-07-15 02:47) [3]

Алекс А   (15.07.04 1:37) [2]
Кнопку бэкспэйс этот код не отслеживает. Некоторые кнопки отслеживае, а именно эту нет


тем не менее, данные разведки показывают, что все отслеживается нормально.

Более того, если не обработать данное событие и не вернуть s_ok, то браузер автоматически по backspace возвращается на предыдущую страницу (если она есть).

В общем, код в студию.


 
Алекс А   (2004-07-15 04:58) [4]


> Piter ©   (15.07.04 02:47) [3]
> тем не менее, данные разведки показывают, что все отслеживается
> нормально.
>
> Более того, если не обработать данное событие и не вернуть
> s_ok, то браузер автоматически по backspace возвращается
> на предыдущую страницу (если она есть).


Ничего не возвращает. Ни с этим кодом, ни без этого кода, никак. По Альт и стрелкам - переходит. А по бэкспэйс - нет.


> В общем, код в студию.

Какой код ?
Код Интернет Эксплорера в Майкрософт.
Код embeddedwb на www.euromind.com/iedelphi


 
Piter ©   (2004-07-15 14:19) [5]

Алекс А   (15.07.04 4:58) [4]

ТВОЙ блин код обработки TranslateAccelerator


 
nikkie ©   (2004-07-15 16:50) [6]

именно BkSpace не передается браузером в TranslateAccelerator. можешь ловить его в Application.OnMessage.

ЗЫ это все опера дурацкие интерфейсные идеи навевает...
имхо совсем неочевидно, что BkSpace должен работать как "назад".
и уж тем более не очевидно, что Shift+BkSpace должно работать как "вперед".
Alt+влево/вправо логичнее гораздо выглядит...
а между прочим, надо еще проверять, где фокус находится - если в текстовом поле, то BkSpace должен стандартно работать.


 
Алекс А   (2004-07-16 01:19) [7]


> Piter ©   (15.07.04 14:19) [5]
> Алекс А   (15.07.04 4:58) [4]
>
> ТВОЙ блин код обработки TranslateAccelerator

См. второй постинг в ветке.


> nikkie ©   (15.07.04 16:50) [6]
> Alt+влево/вправо логичнее гораздо выглядит...

Только требует двух рук.


> это все опера дурацкие интерфейсные идеи навевает...

Нет. Виноваты во всём Майкрософт, своим кривым и глючным браузером. Одни клавиши в одном месте обрабатываются, другие в другом, третьи в третьем. Чтоб извлечь картинки надо сорок тегов обработать. Уж сколько лет браузеру, не могут все дыры залатать. Козлы.


 
Piter ©   (2004-07-18 20:49) [8]

nikkie ©   (15.07.04 16:50) [6]
это все опера дурацкие интерфейсные идеи навевает...


ОПЕРА?! Она-то здесь при чем? Backspace - это было назад, по моему, в IE 3.x Об Опере еще никто не знал!


именно BkSpace не передается браузером в TranslateAccelerator

а у меня передается... может, ты просто фокус не установил на браузере? Ведь у браузера генерируется TranslateAccelerator только когда фокус на нем...


См. второй постинг в ветке

что, прямо такой же код и у тебя? :)
Интересно. Насколько понимаю, это вырезка из DMClient, очень интересно... У тебя тоже главная форма MainForm? :)
И на ней лежит ActionList? :)



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

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

Наверх




Память: 0.49 MB
Время: 0.095 c
4-1092505955
djone
2004-08-14 21:52
2004.09.26
ToolBar


1-1095087410
M-Alex
2004-09-13 18:56
2004.09.26
Математические операции


4-1092151693
Ego
2004-08-10 19:28
2004.09.26
можно ли сделать "ловушку" без использования библиотеки?


14-1094536623
Леван
2004-09-07 09:57
2004.09.26
Лазерный принитер


3-1093958231
Manfred8
2004-08-31 17:17
2004.09.26
Проблемы с клиентом приложений