Как перейти по ссылке по нажатию на картинку?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
RRAFFF
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 15.01.2005 (Сб) 19:08

Как перейти по ссылке по нажатию на картинку?

Сообщение RRAFFF » 18.11.2008 (Вт) 18:00

В форме программы вставлена картинка. Подскажите, пожалуйста, как сделать так, чтобы по клику на этой картинке открывался заданный URL?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как перейти по ссылке по нажатию на картинку?

Сообщение Хакер » 18.11.2008 (Вт) 18:31

Взять, и написать соответствующий код.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Как перейти по ссылке по нажатию на картинку?

Сообщение Debugger » 18.11.2008 (Вт) 18:34

Код: Выделить всё
Private Sub TvoiPictureBox_Click()
Shell "explorer.exe http://www.vbstreets.ru", vbMaximizedFocus
End Sub

werbersoft
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 09.11.2008 (Вс) 17:13
Откуда: Ростова-на-Дону

Re: Как перейти по ссылке по нажатию на картинку?

Сообщение werbersoft » 19.11.2008 (Ср) 0:24

Вот примерный код (1-вый вариант):

Код: Выделить всё
Private Sub ImageURL_Click ()
Shell "rundll32.exe url.dll,FileProtocolHandler http:\\www.sample.ru"
'или альтернативно (раскомментируй, если хочешь)
'Shell "rundll32.exe cdfview.dll,OpenChannel http:\\www.sample.ru"
End Sub


На всякие пожарные рекомендую проверять существование этих библиотек таким образом (ложи код в модуль):
Код: Выделить всё
Public Function FileExists(strFileName As String) As Boolean
    If Len(Dir$(strFileName, vbSystem + vbHidden + vbArchive + vbDirectory + vbNormal + vbReadOnly)) Then
        FileExists = True
    Else
        FileExists = False
    End If
End Function


после чего проверяй, есть ли эти библиотеки в системе (2-й вариант):

Код: Выделить всё
Private Sub ImageURL_Click ()
  If FileExists(Environ("WINDIR") + "\system32\url.dll") = True Then
    Shell "rundll32.exe url.dll,FileProtocolHandler http:\\www.sample.ru"
    'или альтернативно (раскомментируй, если хочешь)
    'Shell "rundll32.exe cdfview.dll,OpenChannel http:\\www.sample.ru"
  Else
    MsgBox "Библиотека url.dll не найдена!", vbCritical, "Ошибка"
  End If
End Sub


Можно использовать как первый, так и второй вариант, я просто дополнительно посоветовал проверять пути к файлам во 2-м варианте.
Мирный программист, помогающий другим. Нехочу никого обижать и грубить.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как перейти по ссылке по нажатию на картинку?

Сообщение Хакер » 19.11.2008 (Ср) 13:01

Ты нашёл где-то этот поганый способ, и теперь будешь его пропихивать везде, где это возможно?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: Как перейти по ссылке по нажатию на картинку?

Сообщение Antonariy » 19.11.2008 (Ср) 13:10

Почему бы и нет? Ведь великим гуру впадлу написать одно-единственное слово — ShellExecute. Лучше лишний раз самоутвердиться.
Лучший способ понять что-то самому — объяснить это другому.

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: Как перейти по ссылке по нажатию на картинку?

Сообщение Williams » 19.11.2008 (Ср) 13:18

Последнее время на форуме стало модно "опускать" посетителя, чтобы видимо лишний раз не задержался. Может быть и стоит человека направить в поиск, но все хорошо в меру. Честно говоря, тошнит от гнусности :? Сторожилы выискивают у друг-друга ошибки, а новичков посылают за хлебом :)
И вы думаете, что вас оставят в живых после прочтения этого поста?

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как перейти по ссылке по нажатию на картинку?

Сообщение Хакер » 19.11.2008 (Ср) 14:21

Antonariy писал(а):Почему бы и нет?

Потому что гадость — обратные слеши вместо прямых, недокументированные функции, вместо документированных, rundll32.

Причём здесь какие-то там гуру?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

werbersoft
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 09.11.2008 (Вс) 17:13
Откуда: Ростова-на-Дону

Re: Как перейти по ссылке по нажатию на картинку?

Сообщение werbersoft » 19.11.2008 (Ср) 15:09

Блин, какая разница? Главное, что работает! Тогда, товарищь Hacker, вспомните как вы начинали... Я думаю, вы тоже не с первых шагов программы клепали... Это очень плохо, когда люди так говорят. Если понимаете, что я что то не так написал, скажите в чём здесь загвостка. А не говорите так, как вы говорите. Если четсно, я до этого был участником проекта VBNet.Ru, так там хотя бы люди ко мне с добротой подходили, если что исправляли, помогали разобраться. А тут: "поганый способ"....
Я понимаю, если бы мне это было за какие то личные конфликты, а тут... Эх... Жаль мне вас.
Мирный программист, помогающий другим. Нехочу никого обижать и грубить.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Как перейти по ссылке по нажатию на картинку?

Сообщение iGrok » 19.11.2008 (Ср) 15:14

werbersoft писал(а):Блин, какая разница? Главное, что работает! Тогда, товарищь Hacker, вспомните как вы начинали... Я думаю, вы тоже не с первых шагов программы клепали... Это очень плохо, когда люди так говорят. Если понимаете, что я что то не так написал, скажите в чём здесь загвостка. А не говорите так, как вы говорите. Если четсно, я до этого был участником проекта VBNet.Ru, так там хотя бы люди ко мне с добротой подходили, если что исправляли, помогали разобраться. А тут: "поганый способ"....
Я понимаю, если бы мне это было за какие то личные конфликты, а тут... Эх... Жаль мне вас.

Да просто уже СТОЛЬКО раз писали, чем хорош способ с использованием ShellExecute, и чем плохи все остальные, что на 3002й раз уже даже в поиск отправлять не хочется..
label:
cli
jmp label

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как перейти по ссылке по нажатию на картинку?

Сообщение Хакер » 19.11.2008 (Ср) 15:31

werbersoft писал(а):Блин, какая разница? Главное, что работает!

Разница очень большая. Главное, то, как работает. Доспустимо, что для тебя главное, что код вообще работает. Ради бога — оставайся при своём пофигистично-наплевательском мнении. Но зачем давать другим советы использовать кривые способы?

Вот, скажем, спрашивает человек, попавший в другой город, как пройти к центральной площади. Ты ему предлагаешь прыгать в канализационный колодец и добираться по подземным водосточным каналам. И это при том, что до центральной площади можно добраться нормальным, привычным, правильным и общепринятым в конце концов способом — пешком по тротуару.

При чём ты делаешь уже неоднократно. Причём, совершенно очевидно, что ты не сам узнал о трансканализационном способе, а тебе его подсказал где-то когда-то такой же "грамотей".


Тогда, товарищь Hacker, вспомните как вы начинали... Я думаю, вы тоже не с первых шагов программы клепали...

Прекрасно помню, как я начинал. Прекрасно помню, как даже на этом форуме советовал всякую чушь, подобную той, что пишешь сейчас ты, и получал жесктий ответ.

Если четсно, я до этого был участником проекта VBNet.Ru, так там хотя бы люди ко мне с добротой подходили, если что исправляли, помогали разобраться. А тут: "поганый способ"....

Одно дело, когда человек чего-то не понимает, просит помощи. Это вызывает желание помочь. И я сам очень много раз помогал. Последний раз написал большой текст, не пожалев собственного времни, которого нет.

Другое дело, когда человек с умным видом начинает советовать кому-то ахинею. Это вызывает желание указать ему, что то, что он советует — ахинея. Что и было сделано.

Я понимаю, если бы мне это было за какие то личные конфликты, а тут... Эх... Жаль мне вас.

За личные конфликты — это плохо. А тут не за личные.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

werbersoft
Новичок
Новичок
Аватара пользователя
 
Сообщения: 31
Зарегистрирован: 09.11.2008 (Вс) 17:13
Откуда: Ростова-на-Дону

Re: Как перейти по ссылке по нажатию на картинку?

Сообщение werbersoft » 19.11.2008 (Ср) 19:33

Ладно, давайте ка Хакер, мы замянем эту тему, которая ни мне, ни вам не даст ничего хорошего, и останимся, хорошими коллегами по "цеху". Ок? :)
Мирный программист, помогающий другим. Нехочу никого обижать и грубить.

RRAFFF
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 15.01.2005 (Сб) 19:08

Re: Как перейти по ссылке по нажатию на картинку?

Сообщение RRAFFF » 20.11.2008 (Чт) 8:54

Хакер писал(а):Взять, и написать соответствующий код.

догадливый

RRAFFF
Начинающий
Начинающий
 
Сообщения: 13
Зарегистрирован: 15.01.2005 (Сб) 19:08

Re: Как перейти по ссылке по нажатию на картинку?

Сообщение RRAFFF » 20.11.2008 (Чт) 9:01

Господа, откликнувшиеся на просьбу - благодарю Вас от всего сердца!)) Я сейчас пишу программку для расчета конфигурации систем пожарного голосового оповещения, с учетом связи с системой пожарной безопасности, учетом потребляемой мощности, и требуемых габаритов рэковых шкафов для всего этого оборудования. VB изучал поверхностно на 2-м курсе, а сейчас пытаюсь хоть что-то вспомнить. Еще раз благодарю за помощь!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 36

    TopList