AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Komponente benützt ParentFont und soll Font.Style und Font.Color überschreiben
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente benützt ParentFont und soll Font.Style und Font.Color überschreiben

Ein Thema von irmdaen · begonnen am 18. Jan 2012 · letzter Beitrag vom 18. Jan 2012
Antwort Antwort
Seite 1 von 2  1 2      
irmdaen

Registriert seit: 19. Sep 2008
6 Beiträge
 
#1

Komponente benützt ParentFont und soll Font.Style und Font.Color überschreiben

  Alt 18. Jan 2012, 12:57
Hallo, ich versuche eine von TCustomLabel abgeleitete Komponente zu erstellen, die als Linklabel dienen soll. Das neue Label soll alle Font-Eigenschaften seines Parent (z.B. der TForm, auf der das Label liegt) verwenden, bis auf Font.Style (unterstrichen) und Font.Color (blau).

Was ich versucht habe: Ich setze in der Komponente in der Create-Methode ParentFont := true, aber sobald ich zusätzlich Font.Style und Font.Color setze, wird Font.ParentFont automatisch wieder auf false gesetzt (erkennbar an der falschen Schriftart)

Und auf die Schriftart von Parent (der TForm) kann ich von der Komponente aus auch nicht zugreifen, da Parent.Font.Name keine public Eigenschaft ist

Das gewünschte Ergebnis erhalte ich nur, indem ich in der Komponente nur ParentFont auf true setze und die Font.Style und Font.Color erst nach Einbau der Komponente in meiner TForm überschreibe

Gibt es keine Möglichkeit, alles in die Komponente selbst zu packen, ohne nachträglich noch Eigenschaften verändern zu müssen

Geändert von irmdaen (18. Jan 2012 um 16:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Komponente benützt ParentFont und soll Font.Style und Font.Color überschreiben

  Alt 18. Jan 2012, 13:09
Wenn Du nicht über .Create gehst, dann nicht.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.152 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Komponente benützt ParentFont und soll Font.Style und Font.Color überschreiben

  Alt 18. Jan 2012, 13:13
Viel einfacher!

Verlager das problem in das Form...

Itteriere über alle Komponenten auf dem Form und setzt die Font Eigenschaften...

So brauchst Du nix ableiten und keine eigene Componente erzeugen!

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.655 Beiträge
 
Delphi 12 Athens
 
#4

AW: Komponente benützt ParentFont und soll Font.Style und Font.Color überschreiben

  Alt 18. Jan 2012, 13:21
Oder die Paint-Methode überschreiben und dort Canvas.Font entsprechend formatieren.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
irmdaen

Registriert seit: 19. Sep 2008
6 Beiträge
 
#5

AW: Komponente benützt ParentFont und soll Font.Style und Font.Color überschreiben

  Alt 18. Jan 2012, 14:42
Oder die Paint-Methode überschreiben und dort Canvas.Font entsprechend formatieren.
Das habe ich schon ausprobiert, funktioniert aber leider nicht: Ich will ja die Schriftart vom Parent, die hole ich mir in Create mit ParentFont := true. Aber die Canvas.Font.Color und Style in der überschriebenen Paint-Methode werden dann ignoriert!
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.152 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Komponente benützt ParentFont und soll Font.Style und Font.Color überschreiben

  Alt 18. Jan 2012, 14:55
Das habe ich schon ausprobiert, funktioniert aber leider nicht: Ich will ja die Schriftart vom Parent, die hole ich mir in Create mit ParentFont := true. Aber die Canvas.Font.Color und Style in der überschriebenen Paint-Methode werden dann ignoriert!
LOL Hast Du mein Posting gelesen?
  Mit Zitat antworten Zitat
irmdaen

Registriert seit: 19. Sep 2008
6 Beiträge
 
#7

AW: Komponente benützt ParentFont und soll Font.Style und Font.Color überschreiben

  Alt 18. Jan 2012, 15:06
Viel einfacher!

Verlager das problem in das Form...

Itteriere über alle Komponenten auf dem Form und setzt die Font Eigenschaften...

So brauchst Du nix ableiten und keine eigene Componente erzeugen!

Mavarik
Vielen Dank, aber in der Form selbst hatte ich es schon hingekriegt. Aber weil ich das noch öfters brauchen werde, hätte ich es halt gern verallgemeinert gehabt in einer Komponente, einfach sie ins Formular ziehen und fertig ...
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.152 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Komponente benützt ParentFont und soll Font.Style und Font.Color überschreiben

  Alt 18. Jan 2012, 15:29
Vielen Dank, aber in der Form selbst hatte ich es schon hingekriegt. Aber weil ich das noch öfters brauchen werde, hätte ich es halt gern verallgemeinert gehabt in einer Komponente, einfach sie ins Formular ziehen und fertig ...
OK Dann sag doch einfach, dass Du es nicht verstanden hast...

Delphi-Quellcode:
procedure TForm42.FormCreate(Sender: TObject);
var
  i : integer;
begin
  For i:= 0 to Self.ComponentCount-1 do
    begin
      if self.Components[i] is TLabel then
        begin
          with TLabel(self.Components[i]) do
            begin
              Font.Color := clBlue;
              // USW...
            end;
        end;
    end;
end;
Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.655 Beiträge
 
Delphi 12 Athens
 
#9

AW: Komponente benützt ParentFont und soll Font.Style und Font.Color überschreiben

  Alt 18. Jan 2012, 15:32
Was hast Du eigentlich gegen Komponenten? Wenn er/sie nur ein oder zwei solcher Labels haben möchte, dann bietet sich eine eigene Komponente doch geradezu an, vor allem, wenn man so etwas in mehreren Projekten braucht (Wiederverwendbarkeit).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.152 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: Komponente benützt ParentFont und soll Font.Style und Font.Color überschreiben

  Alt 18. Jan 2012, 15:36
Was hast Du eigentlich gegen Komponenten? Wenn er/sie nur ein oder zwei solcher Labels haben möchte, dann bietet sich eine eigene Komponente doch geradezu an, vor allem, wenn man so etwas in mehreren Projekten braucht (Wiederverwendbarkeit).
Nach lieber ne Vererbung von TForm... Als noch ne Komponente...

Besonders für die, die keine Komponenten installieren können/wollen...

Mavarik
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

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 18:05 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