Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Ссылки в Delphi


Автор: skorpik 22.9.2008, 20:39
Как создать гипертекстовую ссылку на сайт или на электронный ящик на форме?

Автор: VICTAR 22.9.2008, 20:45
в поиск

Автор: skorpik 22.9.2008, 20:47
в смысле в поиск?

Автор: Данкинг 22.9.2008, 20:59
Цитата(skorpik @ 22.9.2008,  21:47)
в смысле в поиск?

В прямом. smile 
ЗЫ: я использую для подобных целей компоненты Businessskin.

Автор: VICTAR 22.9.2008, 21:22
Цитата(skorpik @  22.9.2008,  21:47 Найти цитируемый пост)
в смысле в поиск? 

В том смысле, что Вы стали юбилейным 1000000 человеком, который задал этот вопрос. В качестве приза Вам предоставляется возможность воспользоваться http://forum.vingrad.ru/act-Search/f-84.html по данному форму, либо заглянуть в http://base.vingrad.ru/ или же http://www.drkb.ru/.

Автор: Poseidon 22.9.2008, 23:42
Цитата(skorpik @ 22.9.2008,  20:39)
Как создать гипертекстовую ссылку на сайт или на электронный ящик на форме?

Обычный TLabel прекрасно справится с этой задачей...

Автор: aktuba 23.9.2008, 12:16
Цитата(Poseidon @  23.9.2008,  00:42 Найти цитируемый пост)
Обычный TLabel прекрасно справится с этой задачей... 

Тогда уж объяснил бы полностью - ставишь TLabel, прописываешь текст ссылка в Caption (например, "Тыкай сюды"), меняешь курсор и в onclick прописываешь что-то наподобии:
Код

ShellExec(nil, 'open', 'http://yandex.ru', nil, nil, SW_SHOW);

Автор: ne0n 23.9.2008, 15:54
aktuba,  тогда уж, чтб ля пущей похожести на гиперссылку надоб еще и цвет поменять при наведени мышкой)
Код

procedure TForm1.lbl1MouseLeave(Sender: TObject);
begin
 lbl1.Font.Color:=clGreen;
end;

procedure TForm1.lbl1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
lbl1.Font.Color:=clRed;
end;

Автор: Rohoss 24.9.2008, 06:10
ne0n, тогда уж и курсор надо поменять
Код

lbl1.Cursor:=crHandPoint;

Автор: AntonN 24.9.2008, 08:25
Rohoss, тогда уж и курсор системный
Код

Screen.Cursors[100]:=LoadCursor(0,IDC_HAND);
lbl1.Cursor:=100;

Автор: BaD_SeCt0R 24.9.2008, 08:44
ne0n, Rohoss, ага. И подводя под стереотип ссылки сделать стиль подчеркнутым smile
Код

Label1.Font.Style:=Label1.Font.Style+[fsUnderLine];

Автор: THandle 24.9.2008, 09:23
AntonN, А это зачем?


Подведу итог:

Код


uses ShellAPI;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Label1.Cursor:=crHandPoint;
  Label1.Font.Style := Label1.Font.Style + [fsUnderLine];
end;

procedure TForm1.Label1Click(Sender: TObject);
begin
  ShellExecute(Handle, nil, 'http://forum.vingrad.ru', nil, nil, SW_SHOW);
end;

procedure TForm1.Label1MouseLeave(Sender: TObject);
begin
  Label1.Font.Color := clGreen;
end;

procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  Label1.Font.Color:=clRed;
end;


Плюс еще изначально в Object Inspector выставить Label1.Font.Color = clGreen.


Зы: Жжоте!

Автор: Poseidon 24.9.2008, 11:45
Ну и в добавление к посту THandle...

Цитата(skorpik @  22.9.2008,  20:39 Найти цитируемый пост)
Как создать гипертекстовую ссылку на сайт или на электронный ящик на форме?


Код

procedure TForm1.Label1Click(Sender: TObject);
begin
  ShellExecute(Handle, nil, 'mailto:[email protected]', nil, nil, SW_SHOW);
end;



Автор: aktuba 24.9.2008, 12:25
Коллективный разум рулит?  smile Простенькую задачу за 2 дня все вместе делали =))))

Автор: Poseidon 24.9.2008, 12:39
Цитата(aktuba @  24.9.2008,  12:25 Найти цитируемый пост)
Коллективный разум рулит?
Рулит лень и нежелание что-то за кого-то делать за так smile

Автор: BaD_SeCt0R 24.9.2008, 13:16
aktuba, где твое чувство юмора?  smile 

Автор: AntonN 24.9.2008, 17:42
THandle, затем, что в системе другой курсор (используемый и в браузерах), а в ресурсах дельфи довольно отвратительный. поэтому было бы логично прикинуться немного браузером и показать привычный hand smile

Автор: Louken 24.9.2008, 23:40
AntonN
И я так часто делаю, только я сразу заменяю делфийский курсор на системный, старый курсор не нужен вовсе.
Код

procedure TForm1.FormCreate(Sender: TObject);
begin
  Screen.Cursors[crHandPoint]:=LoadCursor(0,IDC_HAND);
  Label1.Cursor:=crHandPoint;
  Label1.Font.Style := Label1.Font.Style + [fsUnderLine];
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)