Створюємо гіпер-посилання в delphi

Delphi. Компоненти і Класи. створення компонент

Створюємо гіпер-посилання в Delphi

Насправді створити гіперпосилання в Delphi дуже просто. Алгоритм тут такий: ми ставимо на форму мітку (TLabel), наводимо її зовнішній вигляд до звичного нам виду гіперпосилання в нашому браузері (розглянемо на прикладі IE), і пишемо обробник події OnClick.

Щоб нам можна було постійно використовувати гіперпосилання в наших програмах, ми створимо компонент!

Зараз ми на простому прикладі розберемося зі створенням посилання в Delphi, а потім оформимо всі у вигляді компонента. Починаємо з того, що ставимо на форму нашого проекту мітку (TLabel), нехай її ім'я залишиться Label1. Тепер ми напишемо обробник події OnClick, для неї:

Тепер поясню, що ми тут написали. Функція ShellExecute призначена для відкриття або друку файлу, як виконується, так і документа. Перший параметр це handle батьківського вікна, другий параметр - рядок, вказує, що треба зробити з файлом, третій параметр містить ім'я файлу, четвертий параметр вказує додаткові параметри запуску виконуваного файлу, п'ятий параметр визначає директорію за замовчуванням, останній параметр визначає де буде відображений файл після октритим.

До речі якщо Ви вже спробували запустити наведений код, то швидше за все у Вас нічого не вийшло, тому що функція ShellExecute, знаходиться в модулі ShellAPI, який звичайно ж треба додати в секцію uses, коду нашого застосування.

Тепер розберемо параметри щодо нашого випадку:

Треба відзначити, що другий і третій параметри функції є нуль терминировать рядками, тобто рядками типу PChar, тому для використання у функції імені файлу, отриманого з OpenDialog1, потрібно використовувати PChar (OpenDialog1.Filename).

Тепер в обробнику події форми OnCreate треба написати:

У обробнику події мітки OnMouseDown ми напишемо:

А в обробнику події OnMouseUp нашої мітки ми напишемо:

Для додання повної реалістичності нашому посиланню, треба встановити властивість мітки Cursor в crHandPoint. Тобто при наведенні на посилання покажчик матиме вигляд звичної нам кисті руки з витягнутим вказівним пальцем і зробити посилання підкресленою.

Як батьківського класу (Ancestor Type) ми звичайно ж повинні вибрати TLabel.

Наводжу повний код модуля компонента Link класу Tlink (текст модуля треба зберегти в файлі Link.pas):

Ось ми і розібралися зі створенням гіпер-посилань в Delphi, як виявилося все дуже просто!

Схожі статті