Главная страница
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.038 c
15-1148538041
begin...end
2006-05-25 10:20
2006.06.18
Сотовый...


1-1147539751
Stalker.mg
2006-05-13 21:02
2006.06.18
полоса прокрутки на главной форме


11-1128965722
Riton
2005-10-10 21:35
2006.06.18
TKOLTreeview - item reaching


8-1137581849
hgd
2006-01-18 13:57
2006.06.18
Работа с graphics32


2-1149200694
[stalker]
2006-06-02 02:24
2006.06.18
Проблемма с динамическим массивом