Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

TLinkLabel in TTabControl nicht nutzbar

  Alt 26. Mai 2010, 18: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;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat