Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Font Eigenschaft von TLabel überschreiben (https://www.delphipraxis.net/49509-font-eigenschaft-von-tlabel-ueberschreiben.html)

turboPASCAL 12. Jul 2005 13:59


Font Eigenschaft von TLabel überschreiben
 
Hi, wie kann man die Font Eigenschaft von TLabel überschreiben ?
Kann mir bitte jemand helfen ? (*BetriebsBlindUndIdeeenLos*)

Delphi-Quellcode:
type
  TLinkLabel = class(TLabel)
  private
    FUrl: string;
    ...

    function GetFont: TFont; // grrrrrr
    procedure SetFont(aFont: TFont); // grrrrrr

  protected
    ...
    procedure CMFontChange(var Message: TMessage); message WM_FONTCHANGE; // funzt auch nich' :-(
    procedure WMLMouseDown(var Message: TWMMouse); message WM_LBUTTONDOWN;
    procedure WMLMouseUp(var Message: TWMMouse); message WM_LBUTTONUP;
  public
    constructor Create(Owner: TComponent); override;
    ...
  published
    property Url: string read FUrl write FUrl;
    ...
    property HotFontColor: TColor read FHotFontColor write
      FHotFontColor;
    property Font: TFont read GetFont write SetFont; // grrrrrr
  end;

procedure Register;

implementation

shmia 12. Jul 2005 14:39

Re: Font Eigenschaft von TLabel überschreiben
 
Zitat:

Zitat von turboPASCAL
Hi, wie kann man die Font Eigenschaft von TLabel überschreiben ?
Kann mir bitte jemand helfen ? (*BetriebsBlindUndIdeeenLos*)

Diese Art von LinkLabel oder URLLabel ist bestimmt schon 100 Mal programmiert worden.
Schau mal da: http://www.torry.net/pages.php?id=128

sniper_w 12. Jul 2005 15:06

Re: Font Eigenschaft von TLabel überschreiben
 
Eifacher geht es nicht glaube ich zumindest...:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
 with Label1 do
 begin
   ParentFont := False;
   Font.Color := clRed;
 end;
end;

procedure TForm1.Label1MouseEnter(Sender: TObject);
begin
  with TLabel(Sender) do
  begin
    Font.Color := clBlue;
    Font.Style := Font.Style + [fsUnderline];
  end;
end;

procedure TForm1.Label1MouseLeave(Sender: TObject);
begin
  with TLabel(Sender) do
  begin
    Font.Color := clRed;
    Font.Style := Font.Style - [fsUnderline];
  end;
end;

turboPASCAL 12. Jul 2005 15:23

Re: Font Eigenschaft von TLabel überschreiben
 
Liste der Anhänge anzeigen (Anzahl: 1)
@shmia, das wurde 101 mal programmiert schau mal hier: LinkLabel :zwinker:

@sniper_w, feine Sache, so könnte manes machen. Möchte aber als Selbstgemachte Kompo. :zwinker:

Ich möchte aber noch ein paar Effekte mehr einbauen zB. Farbänderung wenn auf das Linklabel geklickt wird (als optiche Rückmeldung).

Eine funktionsfähige Variante hab ich ja schon, will man aber zur Laufzeit die aktuelle Font-Farbe oä. ändern, hab ich ein Problem.

Demo im Anhang.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz