![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Отловить события (TWebbrowser) [D7]
yahaha © (2006-05-08 15:14:00)Интересуют компоненты 'TWebBrowser' и 'TDHTMLedit'.
Как отлавливать "внутренние" события в браузере
(типа попытки ввести текст, переместить курсор, растянуть таблицу, кликнуть по ссылке и т.п.)?
В TDHTMLedit, например, есть метод QueryStatus, но что с ним делать, непонятно...
Прошу подсказать, кто с этим работал... :???:
yahaha (2006-05-09 14:21:00) [1]Ещё один маленький вопрос...
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'.
Как видно из кода, если пользователь нажмёт кнопку мышки на таблице, у него (по идее) ничего не должно получиться (т.е. таблица не выделится).
А реально она всё же выделяется! Почему действие не отменилось?
yahaha (2006-05-09 00:55:00) [2]Хмм... Выложу сам ответы на свои вопросы... может кому-то пригодится... =)
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-08 23:12:00) [3]Спасибо... вроде что-то получилось...
Только есть ещё несколько вопросов:
1. Я кликнул по ссылке в браузере. Обработчик получил это событие. Как теперь в обработчике указать браузеру, выполнять переход по ссылке или нет (сейчас он в любом случае его выполнит). Или вообще - вместо перехода сделать что-то ещё?
2. Где достать список событий? И как отловить, например, попытку мышью растянуть таблицу? (в DesignMode='On')?
3. Как получить дополнительную информацию (на какую ссылку человек кликнул, на сколько пунктов растянул таблицу и т.п.)?
4. Что почитать по теме?
easy (2006-05-08 15:20:00) [4]http://dfc.com.ru/?sid=2&id=9&itemid=35