Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: fontgröße innerhalb einer celle bei string grids verände

  Alt 26. Dez 2006, 19:17
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
  Mit Zitat antworten Zitat