Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.12.05;
Скачать: CL | DM;

Вниз

Как определить что под курсором находится ссылка ?   Найти похожие ветки 

 
Кириешки ©   (2004-11-21 08:44) [0]

Помогите очень нужно.


 
Piter ©   (2004-11-21 11:11) [1]

какая ссылка? Формулируй вопросы нормально...


 
Palladin ©   (2004-11-21 11:21) [2]

Хм... а как определить что на 2 сантиметра больше?


 
Piter ©   (2004-11-21 11:40) [3]

пять балов :)


 
Кириешки ©   (2004-11-21 11:49) [4]

Не надо издеваться.
Ну что непонятного в вопросе "КАК ОПРЕДЕЛИТЬ ЧТО ПОД КУРСОРОМ НАХОДИТСЯ ССЫЛКА?". Поясню - ИНТЕРНЕТ ССЫЛКА. ССЫЛКА НА ЧТО_ТО В ИНТЕРНЕТЕ. Понятно?


 
uny ©   (2004-11-21 11:54) [5]

где эта ссылка, если в чём то похожем на ричэдит, то компонент такой есть, ссылка даже high что то - ну загорается она при наведении


 
Piter ©   (2004-11-21 12:07) [6]

Кириешки ©   (21.11.04 11:49) [4]
Не надо издеваться.


а кто издевается?
Может, надо правильно формулировать вопросы?

Поясню - ИНТЕРНЕТ ССЫЛКА. ССЫЛКА НА ЧТО_ТО В ИНТЕРНЕТЕ. Понятно?

будешь таким тоном разговаривать - ответа не получишь.

А если у меня в программе "Справка-О программе" есть TLabel разукрашенный в синий цвет, при наведении на него курсор имеет вид ладошки, при нажатии открывается мой сайт - это интернет ссылка?


 
Кириешки ©   (2004-11-21 12:15) [7]

Нет -это  TLabel разукрашенный в синий цвет.


 
Новичек   (2004-11-21 12:22) [8]


> Кириешки
Иными словами, необходимо проверить действительность ссылки в инете, подсказанной TLabel?


 
Кириешки ©   (2004-11-21 12:31) [9]

Новичек   (21.11.04 12:22) [8].

Нет.

Вот представте. При наведении мыши на заголовок формы вы проверяете действительно ли это заголовок, так? А меня интересует как при наведении мыши на какую-нибудь строку (вообще а не в моей программе) ПРОВЕРИТЬ содержит ли эта строка html адрес. Вот. Ну не знаю как еще более понятно объяснить...


 
Новичек   (2004-11-21 12:41) [10]

В таком случае придется анализировать содержимое полученной строки, и, c большой степенью вероятности, именовать ссылкой последовательность слов, начинающуюся с "http://" или "ftp://" и разделенных точкой.


 
Кириешки ©   (2004-11-21 12:56) [11]

Бесспорно. Но меня интересует как проверить что под курсором именно  строка? Вот в чем фактически проблема.


 
Новичек   (2004-11-21 13:01) [12]

Единственное, что приходит в голову, - это обрабатывать события мыши при передвижении её над потомками TControl.


 
Ihor Osov'yak ©   (2004-11-21 13:08) [13]

2 Кириешки

>А меня интересует как при наведении мыши на какую-нибудь строку (вообще а не в моей программе) ПРОВЕРИТЬ содержит ли эта строка html адрес. Вот. Ну не знаю как еще более понятно объяснить...

Так все же интересует общий случай или частний, например, ссылку в окне IE или активИхс от ИЕ?
Для примера три случая:
1. в окне блокнота написало http://www.blabla.net - это ссылка в вашем понимании?
2. Картинка, отображается в  Paint, там теми же пикселями нарисовано http://www.blabla.net - что это?
3. В окне ие есть линк.. Вероятнее всего, Вы имеете ввиди такой случай. Но вот неясно, только он, или еще в допорление 1, а может и 2?

Зы. вариант 3 решается с помошью штатных средств и довольно просто.
1 - решаем в большинсве случаев (даже для случаев, если соотв. объект хранит партизанское молчание в ответ на WM_GETTEXT и GetWindowText)
2 - вероятнее всего, приемлемых на практике вариантов решения нет.


 
GuAV ©   (2004-11-21 13:18) [14]

Ihor Osov"yak ©   (21.11.04 13:08) [13]
даже для случаев, если соотв. объект хранит партизанское молчание в ответ на WM_GETTEXT и GetWindowText


Как ?

Имеем TLabel или канву TPaintBox с урлой.  Как реализовать сабж ?


 
Кириешки ©   (2004-11-21 13:28) [15]

Ihor Osov"yak ©   (21.11.04 13:08) [13]

>... меня интересует как проверить что под курсором именно строка?


 
Shadow-st   (2004-11-21 13:52) [16]

Научись задавать вопрос правильно порусски, а непиши здесь какие-то обрывки


 
Ihor Osov'yak ©   (2004-11-21 13:56) [17]

2 [14] GuAV ©  

Методом перехвата апишных функций, выводящих текст и последующим форсированием перерисовки соотв. региона. Я не говорил, что это тривиальная задача.

2 [15] Кириешки ©   (21.11.04 13:28)

Читать 1, 13. До просветления.


 
Piter ©   (2004-11-21 13:57) [18]

Кириешки ©   (21.11.04 13:28) [15]
меня интересует как проверить что под курсором именно строка?


а TLabel это в твоем понимании не "строка"?

И тебе еще один вопрос задали - в блокноте написано http://www.blabla.net - это строка или как?


 
Ihor Osov'yak ©   (2004-11-21 13:58) [19]

в дополненеие к 17 для Кириешки.
Также дайте определение, что такое строка в Вашем понимании.


 
Piter ©   (2004-11-21 14:20) [20]

Новичек   (21.11.04 13:01) [12]
Единственное, что приходит в голову, - это обрабатывать события мыши при передвижении её над потомками TControl


хм. Ты считаешь, что все windows программы написаны на Дельфи, да еще с применением VCL?


 
Новичек   (2004-11-21 14:23) [21]


> Piter
Думаю, у автора вопроса именно такая ситуация. В противном случае придется лопатить API :-)


 
Piter ©   (2004-11-21 14:45) [22]

Новичек   (21.11.04 14:23) [21]
Думаю, у автора вопроса именно такая ситуация


да? А значит если TControl, то API лопатить не придется? И как же называется функция в VCL, которая реализовывает данный функционал?


 
KilkennyCat ©   (2004-11-21 15:24) [23]

Решение, отвечающее большинству требований от Ihor Osov"yak ©   (21.11.04 13:08) [13] :
Поскольку, в конечном итоге на экране мы видим обыкновенный растр, то пофиг, строка сие или не строка (вообще, под строкой можно называть нарисованные буквы, к которым можно применить хотя бы функцию копирования, но это чисто мое опредление). Отлавливаем скриншот экрана под курсором в области, достаточно превышающей стандартную для этого приложения высоту шрифта и ширину нескольких букв. И пытаемся распознать. Получилось распознование - строка. Не получилось - значит, возможно, не строка.


 
Кириешки ©   (2004-11-21 16:44) [24]

Мда..


 
Ihor Osov'yak ©   (2004-11-21 17:01) [25]

2 [23] KilkennyCat ©   (21.11.04 15:24)
это, собственно, п2. - и ОСR, собственно, одна из наиболее существенных составляющих. Когда в одном проекте нужно было решить похожую задачу -  пошел по пути перехвата апи. Решение не работало только для акроридера (из тех программ, с которыми экспериментировал) - наверное акроридер хитро делает вывод текста. Но, собственно, акроридер не входил в число обязательно перехватываемых приложений согласно ТЗ.


 
KilkennyCat ©   (2004-11-21 17:31) [26]


> Ihor Osov"yak ©   (21.11.04 17:01) [25]

да, с акроридером я тоже мучался...
на самом деле, я такую проблему решал именно ОСRом, но поскольку необходимость отлова текста была только для одного приложения, использующего всегда один и тот же набор символов, без возможности их изменения, то распознование шло просто и 100%. Хотя, конечно, со скоростью в способе перехвата апи даже не стоит и сравнивать...



Страницы: 1 вся ветка

Текущий архив: 2004.12.05;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.062 c
1-1100723377
Intr
2004-11-17 23:29
2004.12.05
присвоить ImageIndex к пункту меню во время выполнения программы.


14-1100269923
AlexG
2004-11-12 17:32
2004.12.05
Что означает возможность форвардинга?


1-1100579553
ККВ
2004-11-16 07:32
2004.12.05
Количество фом проекта


14-1100501304
Думкин
2004-11-15 09:48
2004.12.05
Сбылись мечты Блекмена и его команды со знаменем и горном


3-1099659796
alsov1
2004-11-05 16:03
2004.12.05
Как передать в TQuery параметр равный null