Jak zrobić TLabel zachowywać się jak hiperłącze w Delphi?Jak zrobić TLabel zachowywać się jak hiperłącze w Delphi?
Uwaga: Nie jestem zainteresowany korzystaniem z TLinkLabel ze względu na problemy ze zgodnością wsteczną.
Jak zrobić TLabel zachowywać się jak hiperłącze w Delphi?Jak zrobić TLabel zachowywać się jak hiperłącze w Delphi?
Uwaga: Nie jestem zainteresowany korzystaniem z TLinkLabel ze względu na problemy ze zgodnością wsteczną.
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;
To zależy od tego, czego potrzebujesz od swoich hiperłączy. Chciałbym po prostu ...
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 –
Właśnie sprawdziłem - Delphi 7 zdecydowanie ma OnMouseEnter i OnMouseLeave:} – moobaa
@Gerry: Tak, są; po prostu musisz pracować trochę ciężej.
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:
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
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.
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
Powinien być 'SW_SHOWNORMAL'. –
Nie zapomnij dodać "używa ShellApi;" –