2009-08-25 9 views

Odpowiedz

18

Pokoloruj na niebiesko, ustaw styl na podkreślenie i dodaj wydarzenie OnClick!

procedure TForm1.Label1Click(Sender: TObject); 
var 
    MyLink: string; 
begin 
    MyLink := 'http://www.mysite.com/'; 
    ShellExecute(Application.Handle, PChar('open'), PChar(MyLink),  
    nil, nil, SW_SHOW); 
end; 
+0

Tak, tego właśnie szukałem. Przyjmę to za dzień lub dwa, aby upewnić się, że nikt inny nie ma innych pomysłów. Twoje zdrowie. – Rowan

+0

Powinien być 'SW_SHOWNORMAL'. –

+0

Nie zapomnij dodać "używa ShellApi;" –

7

To zależy od tego, czego potrzebujesz od swoich hiperłączy. Chciałbym po prostu ...

  • ustawić kolor czcionki na niebieski
  • użyć OnMouse [Enter | Leave | Move] wydarzenia odpowiednio zastosować styl podkreślenia do czcionki
  • użyć zdarzenia OnClick do spawn browser & zmienić kolor czcionki, zgodnie z potrzebami.
+0

OnMouseEnter i OnMouseLeave nie są dostępne w wersji D7 i wcześniejszych (nie masz pewności co do D2005), więc komentarz dotyczący TLinkLabel również wyklucza to. Będziesz musiał użyć OnMouseMove –

+0

Właśnie sprawdziłem - Delphi 7 zdecydowanie ma OnMouseEnter i OnMouseLeave:} – moobaa

+0

@Gerry: Tak, są; po prostu musisz pracować trochę ciężej. Po prostu dodajesz programy obsługi dla komunikatów CM_MOUSEENTER i CM_MOUSELEAVE. –

1

Jakiej wersji Delphi używasz? Patrząc na moje IDE Delphi 4, TLabel nie ma zdarzenia OnMouseEnter/OnMouseLeave, które byłoby konieczne, aby zmienić kursor na "Hand", gdy użytkownik unosi się nad "linkiem".

To ma zdarzenie OnClick, które można drut aż do uruchomienia przeglądarki internetowej użytkownika:

How to bring front or launch browser in Delphi

+0

Delphi 2009. Być może kursor myszy był złym terminem. We właściwościach TLabelu, w D2009, możesz określić, który kursor powinien być użyty dla tej etykiety. – Rowan

0

jednej karcie puszki i dać ostrość na linki w przeglądarce. Dlatego rozważałbym użycie kontrolki windowed (jak właściciel TButton) do tego zadania.

Powiązane problemy