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

Вниз

Отловить события (TWebbrowser)   Найти похожие ветки 

 
yahaha   (2006-05-08 15:14) [0]

Интересуют компоненты "TWebBrowser" и "TDHTMLedit".
Как отлавливать "внутренние" события в браузере
(типа попытки ввести текст, переместить курсор, растянуть таблицу, кликнуть по ссылке и т.п.)?

В TDHTMLedit, например, есть метод QueryStatus, но что с ним делать, непонятно...

Прошу подсказать, кто с этим работал...  :???:


 
easy ©   (2006-05-08 15:20) [1]

http://dfc.com.ru/?sid=2&id=9&itemid=35


 
yahaha   (2006-05-08 23:12) [2]

Спасибо... вроде что-то получилось...

Только есть ещё несколько вопросов:

1. Я кликнул по ссылке в браузере. Обработчик получил это событие. Как теперь в обработчике указать браузеру, выполнять переход по ссылке или нет (сейчас он в любом случае его выполнит). Или вообще - вместо перехода сделать что-то ещё?

2. Где достать список событий? И как отловить, например, попытку мышью растянуть таблицу? (в DesignMode="On")?

3. Как получить дополнительную информацию (на какую ссылку человек кликнул, на сколько пунктов растянул таблицу и т.п.)?

4. Что почитать по теме?


 
yahaha   (2006-05-09 00:55) [3]

Хмм... Выложу сам ответы на свои вопросы... может кому-то пригодится... =)

1. ReturnValue:=True/False (разрешить/отменить действие)
Другие свойства/методы IHTMLEventObj - на
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/mshtml/reference/ifaces/eventobj/eventobj.asp

2. Список событий - на
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/events.asp

Но несколько вопросов всё же остаётся:

- Список событий (http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/events.asp) не совпадает со списком в "Doc" (в примере http://dfc.com.ru/?sid=2&id=9&itemid=35). На MSDN событий почему-то гораздо больше... В чём дело?

- Как выловить попытку изменить размеры таблицы или перетащить мышкой объект?

- Пользователь кликнул на картинку (не ссылку!) или на элемент INPUT. Как узнать имя/SRC этой картинки и имя/значение элемента INPUT


 
yahaha   (2006-05-09 14:21) [4]

Ещё один маленький вопрос...

procedure TForm1.RegEvents;
begin
...
Doc.DesignMode := "On";
...
 EventHandler := THTMLEvent.Create(Doc);
 EventHandler.OnEvent := KeyEvent;
 Doc.mousedown := EventHandler as IDispatch;
end;

procedure TForm1.MyEvent(EventObject: IHTMLEventObj; EventType: string);
 if (Eventtype="mousedown") and (EventObject.srcElement.tagName="TABLE")  
  then EventObject.returnValue:=false;
end;


Браузер находится в режиме DesignMode="On".
Как видно из кода, если пользователь нажмёт кнопку мышки на таблице, у него (по идее) ничего не должно получиться (т.е. таблица не выделится).

А реально она всё же выделяется! Почему действие не отменилось?



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

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

Наверх




Память: 0.48 MB
Время: 0.051 c
15-1148649062
DSKalugin
2006-05-26 17:11
2006.06.18
Переход с Delphi7 на 2006. Стоит ли?


4-1142933233
StudentVNN
2006-03-21 12:27
2006.06.18
Неработает завершение сеанса ExitWindowsEx(EWX_LOGOFF, 0)


1-1147597832
Monax
2006-05-14 13:10
2006.06.18
Как установить размер страницы при печати через Printer


2-1148904031
VitV
2006-05-29 16:00
2006.06.18
Запись рисуков в базу данных...


4-1142930111
Arazel
2006-03-21 11:35
2006.06.18
Не могу создать TabControl, WinApi