Ссылка при нажатии на которую вызывается браузер

R

rrrFer

Гость
#3
В Qt мне кажется достаточно будет теги <a href> в QLabel записать (вместо обычного текста).
В Java также примерно делал я.
А ты куда хочешь вывести ссылку?)
 

Pingvin1

Well-Known Member
20.07.2009
50
0
#4
Чтобы ссылка была видна работавшему за компом. Можно сразу открыть ссылку в
ShellExecute(hwnd,"open", "имя запускаемого файла или открываемой в браузере ссылки","",NULL,SW_SHOWNORMAL); , можно подчеркнуть текст ссылки и анализировать клик мыши, но хотелось бы попроще.
И лучше без Qt и других дополнительных библиотек, которые надо дополнительно устанавливать, а часто и покупать.
 
Последнее редактирование модератором:
R

rrrFer

Гость
#5
Иначе никак нельзя. С++ о ссылках ничего не знает.
 
R

rrrFer

Гость
#7
ShellExecute и есть самое простое
Но ShellExecute - это не "без использования дополнительных библиотек". Это ведь WinAPI и, мало того, что это таки библиотека, оно еще и не кроссплатформенное и вообще костыль. Я так понимаю, клик по ссылке надо будет отслеживать, а по-хорошему при наведении мыши - менять цвет ссылки. Ну это кроме того, что текст надо подчеркнуть и еще где-нибудь с бубном сплясать. Зачем все это? Ради чего?
 

Pingvin1

Well-Known Member
20.07.2009
50
0
#8
Раз C++ не работает со ссылками HTML, надо, чтобы кнопка была похожа на ссылку. Т.е. желательно при наведении указателя мыши на ссылку = кнопку цвет её менялся. И сделать это хозяйство надо в Проекте WIN32.
 

Pingvin1

Well-Known Member
20.07.2009
50
0
#10
R

rrrFer

Гость
#11
имеется ввиду не встроенные библиотеки, т.е. WinAPI использовать можно.
Вопрос лишь в том, куда встроенные. То, что в линуксе и на андройде и на айфоне такой библиотеки нет, думаю пояснять не надо?
Но и в Wnidows она есть далеко не везде.
SysLink требует библиотеку Comctl32, да еще и вроде бы (на msdn описано очень смутно) шестой версии. Сама библиотека вроде бы впервые появилась в Windows2000 (первая версия), т.е. если ваша программа не включит ее "как стороннюю библиотеку" - то ваш код гарантированно не будет работать на windows98, например. В какой версии Windows появилась шестая версия я не знаю (на MSDN не написано).

Ну а если вам придется подключать ее подключать - то "встроенной" ее называть уже нельзя - вы в любом случае либо:
* запихаете ее внутрь своего исполняемого файла (слинкуете статически) - при этом увеличится размер файла;
* будете таскать рядом со своей программой dll (подключать ее будете динамически);
* ваша программа будет работать не у всех (а только лишь у тех, у кого в windows встроена нужная версия библиотеки)​
Ну и как не крути, чем больше будет ваша программа и чем больше у нее появится таких зависимостей - тем она будет менее переносимой, а это печально. И да, если вы будете подключать это как стороннюю библиотеку, то ваша поделка, конечно, может быть запустится в linux под wine, но гарантии этого никто не даст никогда.