Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Текст как ссылка [D7, WinXP]


Sonic_gd ©   (2004-10-19 13:38:00) 

Уважаемые Мастера подскажите пожалуйста как в Delphi на форме сделать текст который при наведении на него мышкой подчёркивается как ссылка в HTML а при нажатии запускает необходимый файл. У меня на форме находится TImage так мне нужно чтоб этот текст на этой картинке был просто как ссылка т.е. был без бэкграунда просто текст на картинке а при наведении - ссылка. Если можно то побыстрее.


Pentium133   (2004-10-19 14:24:00) [1]

procedure TfAbout.Label3Click(Sender: TObject);
begin
 case TLabel(Sender).Tag of
   1: ShellExecute(GetDesktopWindow, 'open',
      PChar('mailto:' + TLabel(Sender).Caption), nil, nil, sw_ShowNormal);
   2: ShellExecute(GetDesktopWindow, 'open',
      PChar(TLabel(Sender).Caption), nil, nil, sw_ShowNormal);
 end;
end;

procedure TfAbout.Label3MouseDown(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
if ssLeft in Shift then
begin
   with TWinControl(Sender) do
     SetBounds(Left + 1, Top + 1, Width, Height);
   FDown := True;
end;
end;

procedure TfAbout.Label3MouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
begin
 if FDown then
 begin
   with TWinControl(Sender) do
     SetBounds(Left - 1, Top - 1, Width, Height);
   FDown := False;
 end;
end;

procedure TfAbout.Label3MouseEnter(Sender: TObject);
begin
with (Sender as TLabel) do
 begin
   Font.Style := [fsUnderline];
   Cursor := crHandPoint;
 end;
end;

procedure TfAbout.Label3MouseLeave(Sender: TObject);
begin
with (Sender as TLabel) do
 begin
   Font.Style := Font.Style - [fsUnderline];
   Cursor := crDefault    
 end;
end;


Вопросы есть?


Kolan   (2004-10-19 14:04:00) [2]

Подчеркивать так label1.Font.Style:=[fsUnderline];


Kolan   (2004-10-19 13:53:00) [3]

Используй onMouseEnter и onMouseLeave
procedure TForm1.Label1MouseEnter(Sender: TObject);
begin
label1.Font.Color:=clRed;
end;

procedure TForm1.Label1MouseLeave(Sender: TObject);
begin
label1.Font.Color:=clBlack;
end;

Вместо цвета подчеркивай.

> т.е. был без бэкграунда просто текст на картинке а при наведении
> - ссылка.


Фон сделай прозрачным - Transparent - true


R   (2004-10-19 13:49:00) [4]

procedure CMMouseEnter(var Message: TMessage);message CM_MOUSEENTER;
   procedure CMMouseLeave(var Message: TMessage);message CM_MOUSELEAVE;

ShellExecute


Наверх

Титульная страница Поиск, карта сайта Написать письмо