AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TreeNode / Stringgrid Schriftfarbe ändern

Ein Thema von theomega · begonnen am 16. Aug 2002 · letzter Beitrag vom 16. Aug 2002
Antwort Antwort
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#1

TreeNode / Stringgrid Schriftfarbe ändern

  Alt 16. Aug 2002, 17:34
wie kann ich möglichst einfach die Schrif-Farbe einer TTreeNode verändern?
und
wie kann ich möglichst einfach die Schrif-Farbe einer Zelle eines Stringgrids verändern?
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#2
  Alt 16. Aug 2002, 18:21
Beide Controls sollten ein "OnDraw???"-Event haben, das du dafür benutzen kannst. Beim TreeView hab´ ich´s nie ausprobiert (bei der ListView schon), und beim StringGrid weiß ich, dass es geht, weil ich da mal bei einem kleinen Projekt HTML-Codes inkl. eines kleinen Vierecks mit der entsprechenden Farbe pro Zeile angezeigt habe.
  Mit Zitat antworten Zitat
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#3
  Alt 16. Aug 2002, 19:26
und dann ? was soll ich in dem ondraw machen? ich habe ger keine Ahnung, nachdem es keine font.color oder so gibt.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#4
  Alt 16. Aug 2002, 20:29
Doch gibt es. Immerhin hat so ein TreeView oder StringGrid doch eine "Canvas". Ich habe mal ein altes Beispiel für eine StringGrid rausgekramt und die Teile rausgenommen, die dich wahrscheinlich nicht interessieren:

Code:
[b]procedure[/b] TMenuForm.sg2DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
[b]begin[/b]
  [color=#000080][i]// selection?[/i][/color]
  [b]if[/b](gdSelected [b]in[/b] State) [b]then[/b]
    [b]begin[/b]
      sg2.Canvas.Brush.Color := clHighlight;
      sg2.Canvas.Font.Color := clHighlightText;
    [b]end[/b]
  [b]else[/b]
    [b]begin[/b]
      sg2.Canvas.Brush.Color := clWindow;
      sg2.Canvas.Font.Color := clWindowText;
    [b]end[/b];

  [color=#000080][i]// draw text[/i][/color]
  [b]if[/b](lowercase(sg2.Cells[ACol,ARow]) = 'nil') [b]then[/b] sg2.Canvas.Font.Style := [fsBold]
    [b]else[/b] sg2.Canvas.Font.Style := [];

  sg2.Canvas.Textout(Rect.Left,
   (Rect.Bottom + Rect.Top - sg2.Canvas.TextHeight(sg2.Cells[ACol,ARow])) [b]div[/b] 2,
    sg2.Cells[ACol,ARow]);
[b]end[/b];
  Mit Zitat antworten Zitat
Benutzerbild von theomega
theomega

Registriert seit: 18. Jun 2002
684 Beiträge
 
#5
  Alt 16. Aug 2002, 20:59
schön ist die möglickeit nicht, und einfach auch nicht, da kann ich ja gleich auf ein Canvas zeichnen, ohne stringgrid.
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:23 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