Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> И сново TWebBrowser 
:(
    Опции темы
ScoDi
  Дата 16.5.2005, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.11.2004

Репутация: нет
Всего: нет



Как в TWebBrowser узнать id элемента на котором кликнули мышкой?
PM MAIL WWW   Вверх
December
Дата 18.5.2005, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 12
Всего: 57



Лови. В коде на ApplicationEvents.OnMessage осуществляется отображение атрибута ID у элемента, над которым в данный момент зависает грызун. Можно легко переделать под свои нужды.

Код

function GetIdUnderneath(gPoint:TPoint;gWB:TWebBrowser):string;
var
  TheDoc:IHTMLDocument2;
  cElement:IHTMLElement;
  cP:TPoint;
begin
result:='';
try
cP:=gWB.ScreenToClient(gPoint);
TheDoc:=gWB.ControlInterface.Document as IHTMLDocument2;
if not Assigned(TheDoc) then exit;
cElement:=TheDoc.ElementFromPoint(cP.X,cP.Y);
if not Assigned(cElement) then exit;
result:=cElement.getAttribute('id',0);
except
end;//except;
end;//GetIdUnderneath


procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
var
  cPoint:TPoint;
begin
if msg.message=WM_MOUSEMOVE then
  begin
  cPoint:=Form1.ScreenToClient(msg.pt);
  if not PtInRect(WebBrowser1.ClientRect,cPoint) then exit;
  label1.Caption:=GetIdUnderneath(msg.pt,WebBrowser1);
  end;
end;



--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
ScoDi
Дата 23.5.2005, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.11.2004

Репутация: нет
Всего: нет



Цитата
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);

Я вот это не понимаю как применить smile
Как сделать что бы приложение отреагировало, на то что я нажал что то на TWebBrowsere?

PM MAIL WWW   Вверх
December
Дата 23.5.2005, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Antitheorist
****


Профиль
Группа: Участник
Сообщений: 4423
Регистрация: 14.8.2002
Где: Харьков

Репутация: 12
Всего: 57



Берёшь компонент TApplicationEvents, ляпаешь его на форму. У него есть событие OnMessage. Создаёшь для него обработчик. Он будет вызываться всякий раз, когда приложение получает сообщение - любое. В том числе и клик от мыши. Вот тут-то ты и вступаешь в игру со своим кодом для обработки положения курсора.
Ессно, можно еа ссылку и клавой нажать, но сообщения от клавы ловятся точно так же.


--------------------
Для друзей с винграда - скидки на разработку сайтов
PM MAIL WWW ICQ   Вверх
ScoDi
Дата 23.5.2005, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 17.11.2004

Репутация: нет
Всего: нет



2December
Огромноё спасибо всё получилось!!! smile
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0531 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.