Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

как сделать label гиперссылкой?

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> как сделать label гиперссылкой?
Имя
Сообщение << Старые топики   Новые топики >>
как сделать label гиперссылкой? - 2011-07-23 19:45:54.596666   
SKNIX

Сообщений: 19
Оценки: 0
Присоединился: 2011-07-20 23:50:04.063333
я настроил курсор текст там.
жму на onclick
там ввожу
procedure TForm1.Label1Click(Sender: TObject);
begin
If (Sender is TLabel) then
with (Sender as Tlabel) do
ShellExecute(Application.Handle,PChar('тут моя ссылка'),
PChar(Hint),
PChar(0),
nil,
SW_NORMAL);
end;
делфи выдает ошибка. в чем ошибка?
Post #: 1
RE: как сделать label гиперссылкой? - 2011-07-23 20:25:43.096666   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
В том, что ты через ShellExecute() вызываешь собственное приложение, причем по хендлу (т.е. ещё и неправильно). А надо, очевидно, браузер.
ShellExecute('iexplorer.exe',PChar('тут моя ссылка'), PChar(Hint), PChar(0), nil, SW_NORMAL);

А ещё могу посоветовать sWebLabel из бесплатного в СНГ пакета AlphaControls.
Post #: 2
RE: как сделать label гиперссылкой? - 2011-07-23 20:37:31.980000   
Alianna

Сообщений: 1922
Оценки: 356
Присоединился: 2010-03-02 11:27:12.343333
Эм. С мсдн:
quote:

HINSTANCE ShellExecute(
__in_opt HWND hwnd,
__in_opt LPCTSTR lpOperation,
__in LPCTSTR lpFile,
__in_opt LPCTSTR lpParameters,
__in_opt LPCTSTR lpDirectory,
__in INT nShowCmd
);

hwnd [in, optional]

Type: HWND

A handle to the parent window used for displaying a UI or error messages. This value can be NULL if the operation is not associated with a window.

А проблема тут походу во втором параметре, там операция должна быть. И последний параметр - нет такого SW_NORMAL, есть SW_SHOWNORMAL и SW_SHOW. То бишь выглядеть это будет примерно так:
ShellExecute(0, nil, ссыль, nil, nil, SW_SHOWNORMAL); Или можно первым параметром хендл приложения. А если процедура - обработчик клика только по этому лейблу, нафига делать проверку If (Sender is TLabel) then ?

ЗЫ
quote:

А ещё могу посоветовать sWebLabel из бесплатного в СНГ пакета AlphaControls.

Поддерживаю, хорошая штука.
Post #: 3
RE: как сделать label гиперссылкой? - 2011-07-24 02:14:55.066666   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
Упс, виноват, не посмотрел и хрень полную сказал. Третьим параметром эксплорер, значит, я имел в виду)) Кароч, хотел посоветовать браузер с параметром вызвать, либо просто передать ссылку, а вторым 'explore' вписать.
Но да, вон он нормальный способ)
Post #: 4
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> как сделать label гиперссылкой?







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.