Многие программисты задавая такой вопрос получают на него стандартный ответ "используй edit box." На самом же деле этот вопрос вполне решаем, хотя лейблы и не основаны на окне и, соответственно не могут получать фокус ввода и, соответственно не могут получать символы, вводимые с клавиатуры. Давайте рассмотрим шаги, которые были предприняты мной для разработки данного компонента.

 

На форме лежат TEdit, TCheckBox и TLabel. Я бы хотел, чтобы при наведении на TEdit или TCheckBox в TLabel отображалась "подсказка".

Т.е. своего рода hint, но только отображаемый в TLabel. Как такое можно сотворить?

 

Такое поведение Hint в VCL предусмотренно:

Автор: Mike Scott

 При размещении на форме, создается TLabel, расположенный выше поля редактирования. При перемещении поля редактирования, TLabel "следует" за ним. При удалении поля редактирования, TLabel также удаляется. Имеется свойство LabelCaption, так что вы можете редактировать заголовок Tlabel. Вероятно вам потребуются и другие свойства TLabel, типа Font, но этот код только демонстрирует технологию, так что развивайте его по своему усмотрению.

 

By Kevin Lange (Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.)

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

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

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

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

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