Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.10.2006, 19:45
VASYnA VASYnA вне форума
Прохожий
 
Регистрация: 06.10.2006
Сообщения: 1
Репутация: 10
По умолчанию TWebBrowser EM_CHARFROMPOS

Вообщем такая проблема. Есть WebBrowser. Нуно определить над каким словом весит курсор, и через определенное время показать hint. Нашел что-то Active Accessibility 2.0. Работает он по моему везде, но получаю я только всю строку, а вот слово.
Затем заюзал EM_CHARFROMPOS, но не работает данная фишка в WebBrowser:
Вот код:
function TForm1.SeeWord(x, y: integer): string;
var
iCharIndex, iLineIndex, iCharOffset, i, j: Integer;
Pt: TPoint;
s: string;
Document: IHTMLDocument2;
begin
result:='';
Document:=WebBrowser1.Document as IHtmlDocument2;
if Document<>nil then
begin
//RichEdit1.Text:=(Document.all.Item(NULL, 0) as IHTMLElement).outerText;
//Берем позицию символа по курсором
Pt:=Point(X, Y);
iCharIndex:=WebBrowser1.Perform(EM_CHARFROMPOS, 0, Integer(@Pt));
//iCharIndex:=RichEdit1.Perform(EM_CHARFROMPOS, 0, Integer(@Pt));
//iCharIndex:=100;
if iCharIndex<0 then Exit;
// Линию курсора
iLineIndex:=RichEdit1.Perform(EM_EXLINEFROMCHAR, 0, iCharIndex);
iCharOffset:=iCharIndex-RichEdit1.Perform(EM_LINEINDEX, iLineIndex, 0);
if RichEdit1.Lines.Count-1<iLineIndex then Exit;
//Читкаем линию
s:=RichEdit1.Lines[iLineIndex];
//Ищем начало слова
i:=iCharOffset+1;
while (i>0) and (s[i]<>' ') do Dec(i);
//ищем конец слова
j:=iCharOffset+1;
while (j<=Length(s)) and (s[j]<>' ') do Inc(j);
//Вывод
Edit2.Text:=IntToStr(iCharIndex)+':'+IntToSTr(iLin eIndex)+':'+IntToSTr(iCharOffset);
result:=Copy(s, i+1, j-i-1);
end;
end;
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:59.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter