Форум: "Потрепаться";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];
ВнизКак сделать подмену картинки в TWebBrowser1 при наведении мышью.. Найти похожие ветки
← →
brestmarket (2003-05-18 14:28) [0]Как сделать подмену картинки в TWebBrowser1 при наведении мышью на нее для имитации нажатия на кнопку, не используя JavaScript, т.е. только средствами Delphi ?
← →
brestmarket (2003-05-19 00:37) [1]Который раз обращаюсь с этим вопросом - неужели никто не поможет?
← →
Ihor Osov'yak (2003-05-19 00:46) [2]Думать долго.. Ну, ловить нотификацию о наведении мыши на картинку - это еще можно подумать.. Но подменить - не знаю.. В общем изменить урлик картинки тоже не проблема - но есть предчувствие, что бровзер ее не перерисует.. Измени урлик картинки програмно - если картинка изменится - будем думать дальше..
А во вторых, почему яву использовать нельзя?
← →
DiamondShark (2003-05-19 11:48) [3]Мда... Настоящие мужчины не ищут лёгких путей.
← →
Ihor Osov'yak (2003-05-19 11:54) [4]2 DiamondShark © (19.05.03 11:48)
Типа стилей? Ну человек спрашивает про подмену, значит думаем про подмену..
← →
y-soft (2003-05-19 11:58) [5]А почему не использовать DHTML?
← →
nikkie (2003-05-19 13:01) [6]>А почему не использовать DHTML?
Потому что надо найти в документе таг картинки, привязаться к его событиям, поймать нужное событие и изменить url картинки. Проще это яваскриптом сделать.
← →
brestmarket (2003-05-19 15:44) [7]JavaScript мне действительно не подходит, извините, причины объяснять не могу – долго, но решаемая мной задача уже успешно решена в оболочке для дисков от ALEXSOFT без JavaScript!, и мне надо тоже самое. Может кто-то подскажет что дельное?
← →
nikkie (2003-05-19 17:19) [8]>извините, причины объяснять не могу – долго
Ты тоже извини, но за тебя код писать никто не будет - если только за отдельную плату :) Если сильно надо - для начала сделай то, что Игорь сказал.
>решаемая мной задача уже успешно решена в оболочке для дисков от ALEXSOFT без JavaScript!
Я не поленился и нашел AlexSoft"овский диск. Сдается мне, что задача эта успешно решена без применения TWebBrowser.
← →
Ihor Osov'yak (2003-05-19 17:30) [9]2 nikkie © (19.05.03 17:19)
Тоже не поленился, тоже посмотрел.. Тоже сложилось такое впечатление..
Зы
brestmarket - кроме того -
<a href="../RDEBUG/Setup.exe">
<img active src="install.gif" border="0" width="152" height="31"></a>
Посмотри install.gif - очень удивишся..
← →
brestmarket (2003-05-19 22:49) [10]Наверно не те диски АЛексСофта мы смотрим, т.к. те что я видел, по-моему никак кроме, как с TwebBrowser писаться не могли...
Хорошо, поясню задачу подробно:
1. ЯваСкрипт отпадает по причине того, что html-документ содержит более 1 тыс. картинок (так надо!) и получается, каждой картинке надо дать свое имя, чтобы каждая картинка действительно менялась - тот кто знает ЯваСкрипт - поймет.
2. Предложенный "Ihor Osov"yak" способ подмены изображения однозначно не подходит - разумеется документ придется Reload после изменения Урла... - это недопустимо!
3. Посмотрел я install.gif - никакого удивления - обыкновенный анимированный ГИФ.
ВОПРОС ПО ПРЕЖНЕМУ В СИЛЕ! КАКИЕ ЕЩЕ ЕСТЬ МНЕНИЯ?
← →
Ihor Osov'yak (2003-05-19 23:05) [11]> обыкновенный анимированный ГИФ.
А заметь то, что если мышки нет, то первый спрайт, а при подводе - второй, не судьба? И слелать вывод, что там дело не в перезагрузке картинок...
> по-моему никак кроме, как с TwebBrowser писаться не могли...
Поищи в бинарнике последовательность 61 16 0C D3..
Подсказка:
IID_IWebBrowser2: TGUID = "{ D30C1661-CDAF-11D0-8A3E-00C04FC9E26E}";
Без запроса этого интерфейса ну никак не получится работать с соотв. активХ от IE (TWebBrowser по делфийски)
← →
nikkie (2003-05-19 23:30) [12]>более 1 тыс. картинок ... - тот кто знает ЯваСкрипт - поймет.
можно сгенерить javascript программно. правда, переварит ли это IE, я не знаю :)
> по-моему никак кроме, как с TwebBrowser писаться не могли...
к сожалению, у меня эта AlexSoft-овская программа запускается, но не показывает ни одного окна. Но я помню, как она выглядела, тем более, что ее внешний вид нарисован в 1.bmp и 11.bmp. По этим картинкам ясно - всякие кнопочки сделаны програмно на основе этих двух картинок. Да, там есть область, в которой показывается WebBrowser, но эти картиночки к WebBrowser"у отношения не имеют. Не веришь - посмотри с помощью WinSight или Spy++.
>Предложенный "Ihor Osov"yak" способ подмены изображения однозначно не подходит - разумеется документ придется Reload после изменения Урла... - это недопустимо!
так ты попробовал или это само собой разумеется?
← →
int64 (2003-05-20 00:23) [13]brestmarket (19.05.03 22:49)
> Предложенный "Ihor Osov"yak" способ подмены изображения
> однозначно не подходит - разумеется документ придется Reload
> после изменения Урла... - это недопустимо!
Вот, на varиантах:
c:= WebBrowser1.OleObject.Document.images;
for i:=0 to c.length -1 do
c.item(i).src:= "file://C:/My.jpg";
brestmarket (19.05.03 00:37)
> Который раз обращаюсь с этим вопросом - неужели никто не
> поможет?
Достаточно было один раз почитать ответ.
← →
brestmarket (2003-05-20 01:47) [14]Все понятно, но как поменять картинку не у всех сразу, а только ту картинку, над которой находится курсор мыши?
← →
brestmarket (2003-05-20 01:48) [15]Все понятно, но как поменять картинку не у всех сразу, а только ту картинку, над которой находится курсор мыши?
Уверен, что для господина INT64 это не сложно, а вот я не знаю ;( - прошу помощи…
← →
gek (2003-05-20 07:21) [16]
> и получается, каждой картинке надо дать свое имя, чтобы
> каждая картинка действительно менялась - тот кто знает ЯваСкрипт
> - поймет.
Имеется ввиду типа <img src="kuku.jpg">?
Если да, то можно docement.images(x).src="kuku.jpg"
Но это на jc
← →
gek (2003-05-20 07:35) [17]Дополнение:
вот примерный код
<script id="script_fill_image">
function fill_i(x,z) {
document.images(x).src=z
}
</script>
<body>
<img src="kuku.jpg" onMouseOut="fill_i(0,"kuku_1.jpg");">
<body>
Для onMouseOver также
Или передавай в функцию название прежнего рисунка и название рисунка-замены
Повторюсь это на Js
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.008 c