Главная страница
    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.45 MB
Время: 0.018 c
3-1145861585
petun
2006-04-24 10:53
2006.06.18
поиск по маске в базе данный ms access


2-1148957631
verybadbug
2006-05-30 06:53
2006.06.18
загрузка данных в webbrowser


2-1148886556
ttt_111
2006-05-29 11:09
2006.06.18
Каким образом можно сохранять изменяемый код?


15-1148574620
Nic
2006-05-25 20:30
2006.06.18
P4 TITAN GA-8LD533 Series Intel 845GL - проблемы :(


2-1149092376
Loginov Dmitry
2006-05-31 20:19
2006.06.18
Работа с пакетами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский