Форум: "Основная";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
ВнизКак определить что под курсором находится ссылка ? Найти похожие ветки
← →
Кириешки © (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;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.032 c