Активная ссылка на сайт

Часто, при разработке приложения на Делфи возникает необходимость в активной ссылке, например, на сайт разработчика. Особенно часто такие ссылки делают в окне About, где пишут о программе и дают ссылку на сайт с описанием или ссылку откуда можно скачать программу. Приведем подробное описание установки такой ссылки, например на форме. Напишем маленькую программу с активной ссылкой на сайт студенческой лаборатории: StudLab.com. Интерфейс этой программы приведен на рисунке.

photo
Помещаем на форму панель (не обязательно), на панели размещаем два компонента Label. В свойстве caption первого пишем название сайта "Студенческая лаборатория", а второй компонент используем для самой ссылки, поэтому в caption пишем адрес сайта: STUDLAB.COM. Этот адрес здесь всего навсего надпись, которую надо превратить в ссылку. Для этого выполним настройку свойств второго компонента label, как показано на кликабельном рисунке справа(смотрите поля, выделенные желтой подсветкой). А именно: настраиваем цвет и шрифт текста так, чтобы это было похоже на ссылку. В стиле Style устанавливаем подчеркивание: fsUnderline. в свойстве Cursor компонента Label выберите crHandPoint чтобы при наведении на ссылку курсор приобретал форму указателя в виде пальца. Вы можете модифицировать все сказанное выше, в соответствии с вашими требованиями. Например, в качестве ссылки можно сделать картинку с логотипом сайта. Адрес Web-сайта, на который будет попадать пользователь при клике по ссылке указываем в свойстве Hint компонента Label. Например, пишем в нашем случае http://studlab.com. Чтобы появлялась подсказка, включаем свойство ShowHint в состояние true. В разделе uses после ключевого слова uses дописываем SHELLAPI. И теперь создаем обработчик события на клик по ссылке. Для этого выделяем курсором компонент label, точнее надпись-ссылку, переключаемся в Object Inspector на вкладку Events и на событие OnClick пишем обработчик события (заполняем процедуру), как показано в коде ниже. Также приводим полный код модуля. Кроме того, по ссылке внизу, вы можете скачать готовую работающую программу и посмотреть как она выглядит и работает в реальности. Программа не проверяет, подключен ли интернет.
procedure TForm1.Label2Click(Sender: TObject);
begin
If (Sender is TLabel) then
 with (Sender as Tlabel) do
 ShellExecute(Application.Handle,PChar('open'),
 PChar(Hint),PChar(0),
 nil, SW_NORMAL);
end;
Полный код Unit1.pas приведен ниже:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, SHELLAPI, StdCtrls,
ExtCtrls;

type
 TForm1 = class(TForm)
 Panel1: TPanel;
 Label1: TLabel;
 Label2: TLabel;
 procedure Label2Click(Sender: TObject);
 private
 { Private declarations }
 public
 { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Label2Click(Sender: TObject);
begin
If (Sender is TLabel) then
 with (Sender as Tlabel) do
 ShellExecute(Application.Handle,PChar('open'),
 PChar(Hint),PChar(0),
 nil, SW_NORMAL);
end;
end.
Здесь ссылка на скачивание примера работающей программы. Файл в формате *.exe, поэтому ваш браузер может предупреждать об опасноти скачивания. Не обращайте внимания - вирусов нет.

Скачать пример программы с активной ссылкой
Онлайн всего: 17
Гостей: 17
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте