15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Делаем URL в приложении



By Kevin Lange (klange@partslink.com)

Приложение содержит ссылку, которая позволяет запускать Браузер и сразу перейти по указанному в ссылке адресу. Процесс создания URL заключается в переделке компоненты TLabel в URL.
Рисунок #1: Изображение URL


Теория


Следующие 3 шага показывают как переделать TLabel в URL.

Шаг 1 Установите в свойствах шрифта подчёркивание и цвет ссылки.


Рисунок #2: Launching the Font Editor
Шаг 2 Установите свойства курсора. Когда мышка попадает на URL, то курсор должен превращаться в ручку.


Рисунок #3: Изменение курсора
Шаг 3 Записываем событие OnClick для ссылки. Когда пользователь нажимает на ссылку, то запускается браузер, который автоматически переходит на заданный адрес. Однако этого мало! Нужно будет добавить в приложение ещё одну строчку


Рисунок #4: записываем событие OnClick
Та самая строчка:
ShellExecute(0,'open',pChar(URL),NIL,NIL,SW_SHOWNORMAL); 

Внимание: функция ShellExecute содержится в ShellAPI, поэтому вам прийдётся включить его в проект.

 

Пример приложенич


Image #5: Sample Application
Рисунок #5: Пример приложения

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ShellAPI;

type
  TForm1 = class(TForm)
    URLLabel: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure URLLabelClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Close;
end;

procedure TForm1.URLLabelClick(Sender: TObject);
Const
  URL : String = 'http://www.sources.ru';
begin
  ShellExecute(0,'open',pChar(URL),NIL,NIL,SW_SHOWNORMAL);
end;

end.
 
      

Листинг #1: unit1.pas - Пример приложения