Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi fontgröße innerhalb einer celle bei string grids verändern (https://www.delphipraxis.net/83047-fontgroesse-innerhalb-einer-celle-bei-string-grids-veraendern.html)

GerHil 26. Dez 2006 11:49


fontgröße innerhalb einer celle bei string grids verändern
 
hallo zusammen,

ich habe das problem, bei einer celle einer stringtabelle (string grid)
die fontgröße zu ändern.

ich verwende die entwicklungsumgebung von borland für delphi 7.

wäre nett wenn mir jemand die lösung für mein problem beschreiben könnte. sowohl mit hilfe der entwicklungsumgebung von borland(wysiwyg) als auch als einfachen text (source).

gruß gerd

marabu 26. Dez 2006 19:17

Re: fontgröße innerhalb einer celle bei string grids verände
 
Herzlich willkommen in der Delphi-PRAXiS, Gerd.

Die Lösung ist eigentlich recht einfach: Du übernimmst das Zeichnen des Textes im StringGrid. Dazu erstellst du dir einen Event Handler für das Ereignis OnDrawCell() und der könnte etwa so aussehen:

Delphi-Quellcode:
procedure TDemoForm.StringGridDrawCell(Sender: TObject; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
var
  oldSize: Integer;
begin
  with (Sender as TStringGrid) do
  begin
    if Odd(ACol) and Odd(ARow) then
    begin
      oldSize := Font.Size;
      Canvas.Font.Size := oldSize * 3 div 2;
    end;
    Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, Cells[ACol, ARow]);
    if Odd(ACol) and Odd(ARow) then
      Canvas.Font.Size := oldSize;
  end;
end;
Im Beispiel-Code gehe ich davon aus, dass du die Texte bereits den Zellen zugewiesen hast. Natürlich kannst du den auszugebenden Text auch woanders hernehmen.

Freundliche Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 Uhr.

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