Главная страница
    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.011 c
2-1148990487
Std
2006-05-30 16:01
2006.06.18
Напоминалка


15-1148670836
Cerberus
2006-05-26 23:13
2006.06.18
Чё то я запутался.


2-1148931364
MZUser
2006-05-29 23:36
2006.06.18
Ето только кажется просто...


15-1148279147
rts111
2006-05-22 10:25
2006.06.18
Прошу протестировать мою небольшую программу.


2-1148768422
Галинка
2006-05-28 02:20
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский