Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Label färbt sich nicht trotz anderer eingestellte Farbe (https://www.delphipraxis.net/180244-label-faerbt-sich-nicht-trotz-anderer-eingestellte-farbe.html)

Luki206 4. Mai 2014 14:11

Label färbt sich nicht trotz anderer eingestellte Farbe
 
Hi, ich habe ein Problem mit den Labels. Ich will diese einfärben bzw. beim Punkt Font die Farbe ändern. Klappt auch (wäre ja auch blöd wenn nicht :D) nur wenn ich jetzt das Programm ausführe, bleiben die Labels schwarz und ich weiß nicht warum. Ich muss dazu sagen das die Labels über einen Image liegen aber ich habe sie auch einmal weggezogen und es hat nicht geklappt.
Kennt jemand diesen Fehler? :gruebel:

Danke
Luki :)

Popov 4. Mai 2014 14:18

AW: Label färbt sich nicht trotz anderer eingestellte Farbe
 
Evtl. ParentFont oder ParentColor? Bin mir nicht sicher, einfach mal gucken.

Sir Rufo 4. Mai 2014 14:59

AW: Label färbt sich nicht trotz anderer eingestellte Farbe
 
Benutzt du die Styles?

Dann kannst du das mit dem Färben vergessen

Popov 4. Mai 2014 15:29

AW: Label färbt sich nicht trotz anderer eingestellte Farbe
 
Ich hab das in der Praxis zwar selbst noch nie genutzt, somit weiß ich nicht ob das in allen Einzelheiten funktioniert, aber TLabel besitzt auch eine Canvas, und auf der kann man schreiben was mal will:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Canvas.Brush.Style := bsSolid;
  Label1.Canvas.Brush.Color := clWhite;
  Label1.Canvas.FillRect(Label1.Canvas.ClipRect);
  Label1.Canvas.Pen.Color := clRed;
  Label1.Canvas.TextOut(0, 0, 'Hallo');
end;
Ob das bei dir klappt oder gar mit Styles, weiß ich nicht, aber einfach mal im Hinterkopf behalten.

Bernhard Geyer 4. Mai 2014 15:42

AW: Label färbt sich nicht trotz anderer eingestellte Farbe
 
Zitat:

Zitat von Popov (Beitrag 1257893)
Ich hab das in der Praxis zwar selbst noch nie genutzt, somit weiß ich nicht ob das in allen Einzelheiten funktioniert, aber TLabel besitzt auch eine Canvas, und auf der kann man schreiben was mal will:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Canvas.Brush.Style := bsSolid;
  Label1.Canvas.Brush.Color := clWhite;
  Label1.Canvas.FillRect(Label1.Canvas.ClipRect);
  Label1.Canvas.Pen.Color := clRed;
  Label1.Canvas.TextOut(0, 0, 'Hallo');
end;
Ob das bei dir klappt oder gar mit Styles, weiß ich nicht, aber einfach mal im Hinterkopf behalten.

So eine Implementierung gehört in die OnDraw/Paint-Methode des Labels. So wird es einmal gezeichnet und beim nächsten neuzeichnen ist das selbst gezeichnete weg.

Luki206 4. Mai 2014 16:01

AW: Label färbt sich nicht trotz anderer eingestellte Farbe
 
Ja ich benutze Styles, aber gibt es nicht noch eine andere Methode das Label mit Style zu färben? Oder muss ich das in dem Style machen?

himitsu 4. Mai 2014 16:11

AW: Label färbt sich nicht trotz anderer eingestellte Farbe
 
Kannst du den Style für das/die Labels nicht einfach deaktivieren?

Zitat:

ParentFont oder ParentColor
Die beiden werden eigentlich automatisch deaktiviert, sobald man dem Font/Color etwas zuweist.

Luki206 4. Mai 2014 16:17

AW: Label färbt sich nicht trotz anderer eingestellte Farbe
 
Sind beide deaktiviert :gruebel:

Sir Rufo 4. Mai 2014 16:29

AW: Label färbt sich nicht trotz anderer eingestellte Farbe
 
Wenn du die Styles benutzt, dann kannst du an Farbe alles einstellen - es interessiert nur nicht, denn der Style hat da Vorrang.

Erklärung und Lösung gibt es hier
http://theroadtodelphi.wordpress.com...tyles-enabled/

Volker Z. 4. Mai 2014 21:11

AW: Label färbt sich nicht trotz anderer eingestellte Farbe
 
Hallo,

Zitat:

Wenn du die Styles benutzt, dann kannst du an Farbe alles einstellen - es interessiert nur nicht, denn der Style hat da Vorrang.
Das ist wohl wahr. Seit Delphi XE3 gibt es aber die Eigenschaft StyleElements (seFont, seClient und seBorder sind per Default True, deshalb hat auch der Style Vorrang). Wenn man damit ein bisschen spielt, dann kann man Styles nutzen und trotzdem z. B. die Schriftfarbe vorgeben (seFont dann auf False setzen).

Siehe auch: Verwenden von TControl.StyleElements in VCL-Anwendungen

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:45 Uhr.
Seite 1 von 2  1 2      

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