Форум: "Основная";
Текущий архив: 2006.06.18;
Скачать: [xml.tar.bz2];
ВнизОтловить события (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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c