Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi StringGrid: Schriftgröße verkleinern geht nicht (https://www.delphipraxis.net/122994-stringgrid-schriftgroesse-verkleinern-geht-nicht.html)

Helmi 25. Okt 2008 15:03


StringGrid: Schriftgröße verkleinern geht nicht
 
Hallo,

ich möchte im OnDrawCell einer StringGrid die Schriftgröße der Zellen, manchmal auch einer bestimmten Zelle ändern.
Wenn ich die Schrift größer stelle, dann funktionierts, kleiner aber nicht.

Hier mal der Code:
Delphi-Quellcode:
procedure TForm2.StringGridDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  Diff_Left : Integer;
  Diff_Top : Integer;
  S_Text   : String;

begin
 with (Sender as TStringGrid), Canvas do
  begin
    //Text auslesen
    S_Text     := Cells[ACol, ARow];

    //linke, obere Zelle
    If (ACol = 0) and (ARow = 0) then
      begin
        Brush.Color := clWhite;
      end
    else
      //erste Zeile und Spalte neu zeichnen
      If (ACol = 0) or (ARow = 0) then
        begin
          //Hintergrundfarbe
          Brush.Color  := clWhite;

          //Schrift einstellen
          Font.Color   := clBlack;
          Font.Name    := 'MS Sans Serif';
        end
      else
        begin
          //Hintergrundfarbe dunkelblau
          Brush.Color := clNavy;

          //Schrift einstellen
          Font.Color   := clWhite;
          Font.Name    := 'Fixedsys';
        end;

    //Standard-Schrift-Einstellungen
    Font.Size  := 11;
    Font.Style := [];

    //
    If (Pos('$', S_Text) = 1) and (Length(S_Text) > 1) then
      begin
        //Hintergrundfarbe rot
        Brush.Color := clRed;

        //Schriftgröße ändern
        Font.Size   := 1;
      end;
end;
Delphi-Quellcode:
Font.Size   := 1;
funktioniert nicht.

Delphi-Quellcode:
Font.Size   := 11;
und größer funktioniert.

Wieso kann ich keine kleineren Schriftgrößen einstellen?

taaktaak 25. Okt 2008 15:08

Re: StringGrid: Schriftgröße verkleinern geht nicht
 
Ähhhhhhhhhh....

Delphi-Quellcode:
Font.Size:=1
wie willst du denn das noch erkennen?

Hawkeye219 25. Okt 2008 15:11

Re: StringGrid: Schriftgröße verkleinern geht nicht
 
Hallo Helmi,

"MS Sans Serif" und "Fixedsys" sind keine TrueType-Schriftarten, es werden also nicht alle Fontgrößen unterstützt.

Gruß Hawkeye

Helmi 25. Okt 2008 15:12

Re: StringGrid: Schriftgröße verkleinern geht nicht
 
das ist ja nur ein Beispiel.
Ich nutz gerne solche Extreme um festzustellen ob es funktioniert oder nicht.

Natürlich werd ich dann etwa 5 oder 6 einstellen.

Bei einer 1 hätt ich ja fast nichts mehr sehen dürfen, aber dem warn icht so.

Helmi 25. Okt 2008 15:14

Re: StringGrid: Schriftgröße verkleinern geht nicht
 
Zitat:

Zitat von Hawkeye219
"MS Sans Serif" und "Fixedsys" sind keine TrueType-Schriftarten, es werden also nicht alle Fontgrößen unterstützt.

Wie kann man rausfinden welche Fontgrößen unterstützt werden?
Ohne dass man jetzt rumprobieren muss..

Aber es müsste doch auch kleine Schriftgrößen möglich sein oder?

taaktaak 25. Okt 2008 15:15

Re: StringGrid: Schriftgröße verkleinern geht nicht
 
Na, Hawkeye hat's ja geschrieben.
Kommt drauf an, welche Schriftart du verwendest.
Da gibt's hier schon Threads.
Unter 7 Punkte ist dei Größe m.E. aber nicht mehr zumutbar.

Hawkeye219 25. Okt 2008 15:19

Re: StringGrid: Schriftgröße verkleinern geht nicht
 
Bei einem Doppelklick auf die Eigenschaft Font im Objektinspektor öffnet sich der Standard-Font-Dialog von Windows. Dort sollten alle verfügbaren Schriftgrößen angezeigt werden.

Gruß Hawkeye

taaktaak 25. Okt 2008 15:22

Re: StringGrid: Schriftgröße verkleinern geht nicht
 
Für die FixedFonts gibt es z.B. hier etwas. Die TrueType's könne ja praktisch jede Größe annehmen; lesbar sind aber wohl nur Größen ab 6..7 Punkten (vom Alter des Benutzers abhängig :zwinker: )

Helmi 25. Okt 2008 15:25

Re: StringGrid: Schriftgröße verkleinern geht nicht
 
Zitat:

Zitat von Hawkeye219
Bei einem Doppelklick auf die Eigenschaft Font im Objektinspektor öffnet sich der Standard-Font-Dialog von Windows. Dort sollten alle verfügbaren Schriftgrößen angezeigt werden.

Danke für diesen Tip.

Aber da scheint was nicht zu stimmen...

Bei der Schrift "FixedSys" wird mir als verfügbare Schrift die Größe "9" angegeben.
Ich kann diese Schrift aber per Code vergrößern...

alzaimar 25. Okt 2008 17:12

Re: StringGrid: Schriftgröße verkleinern geht nicht
 
Für kleine aber lesbare Texte verwende ich 'Small Fonts' (naheliegend, eigentlich) in Größe 6 oder 7pt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:44 Uhr.
Seite 1 von 2  1 2      

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-2025 by Thomas Breitkreuz