FastReport Farb-Konstanten: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
K (Allgemeines)
Zeile 76: Zeile 76:
 
:Wenn Sie eine bestimmte Farbe wollen, so setzen Sie die Farbe eine beliebigen Objekts im Objektinspektor, kopieren die Hexa-Zahl in Zwischenablage und fügen Sie diese in den Code ein.
 
:Wenn Sie eine bestimmte Farbe wollen, so setzen Sie die Farbe eine beliebigen Objekts im Objektinspektor, kopieren die Hexa-Zahl in Zwischenablage und fügen Sie diese in den Code ein.
  
 +
== Beispiel ==
 +
 +
In einem Angebot soll das Feld '''GesamtBetrag''' (PositionenGesBetrag) grau dargestellt werden, wenn es eine '''Alternativ-Position''' ist. Dazu wählt man das Feld und wählt im Objekt-Inspektor unter '''Ereignisse''' aus:
 +
 +
[[Datei:FastReport_OnBeforePrint.png]]
 +
 +
Mit einem Doppelklick darauf kommt man in den Code-Editor und gibt diesen Code ein:
 +
 +
  if (<Positionen."Alternativ_0_1"> = 1) and (<Positionen."PosNr"> > 0 ) then
 +
        PositionenGesBetrag.Font.Color := clWindowFrame 
 +
  else           
 +
        PositionenGesBetrag.Font.Color := clWindowText;
 +
 +
{| class="wikitable" style="text-align: left;"
 +
!Code
 +
!Bedeutung
 +
|- valign="top"
 +
|if (<Positionen."Alternativ_0_1"> = 1)
 +
|Wenn das Alternativ-Kennzeichen der Position '''eingeschaltet''' ist ( = 1)...
 +
|- valign="top"
 +
|and (<Positionen."PosNr"> > 0 )
 +
|...'''und''' wenn es '''kein Kapitel''' ist (<Positionen."PosNr"> > 0 )
 +
|- valign="top"
 +
|then
 +
|dann...
 +
|- valign="top"
 +
|PositionenGesBetrag.Font.Color := clWindowFrame 
 +
|...wird die Schriftfarbe auf  mittelgrau gesetzt...
 +
|- valign="top"
 +
|else
 +
|ansonsten...
 +
|- valign="top"
 +
|PositionenGesBetrag.Font.Color := clWindowText
 +
|...wird die Schriftfarbe auf die Standard-Schriftfarbe gesetzt, im Regelfall schwarz (man könnte auch '''clBlack''' verwenden).
 +
|}
  
 
== Links ==
 
== Links ==

Version vom 16. September 2015, 22:07 Uhr

1 Allgemeines

Allen sichtbaren Objekte eines Report können Sie eine Farbe zuweise, entweder fest im Objekt-Inspektor oder über einen Code.

Bitte beachten Sie
Die Eigenschaft Objekt.Color gibt die Hintergrundfarbe an! Wenn Sie die Schriftfarbe ändern wollen, so müssen Sie die Eigenschaft Objekt.Font.Color setzen!

2 Konstanten

Diese Farb-Konstanten gibt es:

FastReport Farbkonstanten.png

Die wichtigsten Farben sind:


Konstante Farbe
clNone Keine Farbe, das Objekt ist durchsichtig. Dies ist die Standardfarbe für Felder.
clBlack Schwarz
clWhite Weiß
clRed Rot
clYellow Gelb
clGreen Dunkles Grün
clLime Helles grün
clNavy Dunkles Blau
clGray Dunkles Grau
clSilver Helles Grau


3 Farbwerte über Hexadezimale Zahl

Alternativ zu den Konstanten kann man eine Farbe auch über eine hexadezimale Zahl festlegen.

Dabei geben die drei niederwertigen Bytes die RGB-Farbintensität für Blau, Grün und Rot an.

$00FF0000 Blau mit voller Intensität
$0000FF00 Grün
$000000FF Rot
$00000000 Schwarz
$00FFFFFF Weiß 

Es sind alle denkbaren Kombinationen möglich.

Das höchstwertige Byte steuert die Annäherung an die Systenfarbe

$00 Farbe ist der in der Systempalette am ähnlichsten
$01 ergibt eine Farbe, die derjenigen in der aktiven Palette am ähnlichsten ist.
$02 ergibt eine möglichst ähnlichste Farbe in der logischen Palette des aktuellen Gerätekontexts. 

Normalerweise verwendet man "$00".

Tipp
Wenn Sie eine bestimmte Farbe wollen, so setzen Sie die Farbe eine beliebigen Objekts im Objektinspektor, kopieren die Hexa-Zahl in Zwischenablage und fügen Sie diese in den Code ein.

4 Beispiel

In einem Angebot soll das Feld GesamtBetrag (PositionenGesBetrag) grau dargestellt werden, wenn es eine Alternativ-Position ist. Dazu wählt man das Feld und wählt im Objekt-Inspektor unter Ereignisse aus:

FastReport OnBeforePrint.png

Mit einem Doppelklick darauf kommt man in den Code-Editor und gibt diesen Code ein:

 if (<Positionen."Alternativ_0_1"> = 1) and (<Positionen."PosNr"> > 0 ) then
        PositionenGesBetrag.Font.Color := clWindowFrame  
 else            
        PositionenGesBetrag.Font.Color := clWindowText;
Code Bedeutung
if (<Positionen."Alternativ_0_1"> = 1) Wenn das Alternativ-Kennzeichen der Position eingeschaltet ist ( = 1)...
and (<Positionen."PosNr"> > 0 ) ...und wenn es kein Kapitel ist (<Positionen."PosNr"> > 0 )
then dann...
PositionenGesBetrag.Font.Color := clWindowFrame ...wird die Schriftfarbe auf mittelgrau gesetzt...
else ansonsten...
PositionenGesBetrag.Font.Color := clWindowText ...wird die Schriftfarbe auf die Standard-Schriftfarbe gesetzt, im Regelfall schwarz (man könnte auch clBlack verwenden).

5 Links