Moin, ich hab ja immer wieder Probleme mit einigen Komponenten in einem TTabSheet/TTabControl.
Grund ist, daß man diese "durchsichtigen" Komponenten nicht den Parent-Hintergund zuweisen kann.
Ab XP hat das TabSheet ja einen helleren und leicht farbverlaufenen Hintergrund und es gibt nichtmal eine der vordefinierten clFarbkonstanten, welche diesem auch nur halbwegs entspricht.
Heißt also, daß derartige Komponenten immer eine andere Hintergrundfarbe haben und es somit häßlich abgehackt aussieht.
Selber irgendeine Farbe zu deklarieren geht nur bedingt und auch nur bei Komponenten mit geringer Höhe (wegen dem Farbverlauf) und wenn auf einem anderem Windows dann andere Systemfarben verwendet werden, dann stimmt die Farbe natürlich wieder nicht.
Nun ja, das bedeutet also, daß man keine TLinkLabel in einem TTabSheet nutzen kann, da dieses sich einfach nicht in das Layout einpaßt.
Dabei wollte ich doch endlich mal dieses coole LinkLabel verwenden
und bin am Ende doch wieder bei meiner "Billigmethode" gelandet:
Delphi-Quellcode:
object Label61: TLabel
Cursor = crHandPoint
Hint = '
www.FNSE.de/Spenden'
Caption = #187'
Donation'
Font.Color = clHotLight
ParentFont = False
ParentShowHint = False
ShowHint = True
OnClick = Label61Click
OnMouseEnter = Label61MouseEnter
OnMouseLeave = Label61MouseLeave
end
Procedure TForm1.Label61Click(Sender: TObject);
Begin
ShellExecute(
Handle, '
open', PChar(TLabel(Sender).Hint),
nil,
nil, SW_SHOW);
End;
Procedure TForm1.Label61MouseEnter(Sender: TObject);
Begin
With TLabel(Sender).Font
do Begin
Color := clHighlight;
Style := [fsUnderline];
End;
End;
Procedure TForm1.Label61MouseLeave(Sender: TObject);
Begin
With TLabel(Sender).Font
do Begin
Color := clHotLight;
Style := [];
End;
End;