AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TLinkLabel in TTabControl nicht nutzbar

Ein Thema von himitsu · begonnen am 26. Mai 2010 · letzter Beitrag vom 9. Apr 2011
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.132 Beiträge
 
Delphi 12 Athens
 
#1

TLinkLabel in TTabControl nicht nutzbar

  Alt 26. Mai 2010, 17:05
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;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hannover-Hainholz
801 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TLinkLabel in TTabControl nicht nutzbar

  Alt 9. Apr 2011, 10:16
Hier ist die Lösung: http://stackoverflow.com/questions/1...a-tpagecontrol
Getestet unter XP mit Themes und Vista: Keine Probleme. Also auch transparent auf einen TabSheet / PageControl.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz