AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein im Teltreestringgrid die Textfarbe einer Spalte ändern
Thema durchsuchen
Ansicht
Themen-Optionen

im Teltreestringgrid die Textfarbe einer Spalte ändern

Ein Thema von Natcree · begonnen am 23. Mär 2013 · letzter Beitrag vom 23. Mär 2013
Antwort Antwort
Seite 1 von 2  1 2      
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#1

im Teltreestringgrid die Textfarbe einer Spalte ändern

  Alt 23. Mär 2013, 11:42
Habe ein Treestringgrid und kein ondrawcell ereignis zur verfügung wie bekommen ich den Text einer Spalte in clred.

Ich Füge mal einen Ausschnitt der Events mit ein.

Ich hoffe Ihr könnt mir weiter Helfen...
Miniaturansicht angehängter Grafiken
1.jpg   2.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: im Teltreestringgrid die Textfarbe einer Spalte ändern

  Alt 23. Mär 2013, 11:48
Schau dir doch einfach mal alle Events an wo Draw vorkommt
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: im Teltreestringgrid die Textfarbe einer Spalte ändern

  Alt 23. Mär 2013, 11:48
Mir fallen da spontan die Ereignisse "OnItemDraw", "OnItemPostDraw" und "OnItemPreDraw" ins Auge wobei letzteres wohl am ungeeignetsten sein wird.
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: im Teltreestringgrid die Textfarbe einer Spalte ändern

  Alt 23. Mär 2013, 11:51
Onitemdraw und postdraw habe ich shon versucht aber irgendwie ändert es nicht an der Text farbe
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: im Teltreestringgrid die Textfarbe einer Spalte ändern

  Alt 23. Mär 2013, 12:00
Das ist mein Code


Delphi-Quellcode:
procedure TForm1.ElTreeStringGrid1ItemDraw(Sender: TObject;
  Item: TElTreeItem; Surface: TCanvas; R: TRect; SectionIndex: Integer);
var
i:integer;
begin
for i:= 1 to eltreestringgrid1.RowCount do
if eltreestringgrid1.Cells[3,i]='then else
eltreestringgrid1.Font.Color:= clred;
end;
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: im Teltreestringgrid die Textfarbe einer Spalte ändern

  Alt 23. Mär 2013, 12:40
Die Itemdraw Events beziehen sich alle auf die Tree und nich auf die Cells keine shance kannmann so etwas mit ner funktion schreiben?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: im Teltreestringgrid die Textfarbe einer Spalte ändern

  Alt 23. Mär 2013, 12:44
Schau dir doch mal an, was der Event dir alles liefert.

Ausserdem ist das ein Event der für jedes Item einzeln (beim Zeichnen dieses) aufgerufen wird.
Daraus folgt, dass du dich hier nur um dieses eine Item kümmern musst (und wichtiger auch nur sollst).

Das Row-fache Setzen der Font-Farbe bewirkt Schlimmstenfalls sogar ein ständiges Neuzeichnen des gesamten Controls, was wiederum das Zeichen der Items auslöst, was wieder die Font-Farbe setzt, was wieder das Neuzeichenen ... usw. usw. usw.

Diese Komponente ist mir nicht bekannt (vom Namen ja, sonst nicht), aber ich würde in dem Event mal vorsichtig damit anfangen:
Delphi-Quellcode:
procedure TForm1.ElTreeStringGrid1ItemDraw(Sender: TObject;
  Item: TElTreeItem; Surface: TCanvas; R: TRect; SectionIndex: Integer);
begin
  Surface.Font.Color:= clred;
end;
Wird jetzt alles rot, dann kannst du dich daran machen über das Argument Item herauszufinden, zu welcher Spalte das gehört.

Möglicherweise sollte das aber auch in den OnItemPreDraw Event (setzen der Canvas-Font-Farbe)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (23. Mär 2013 um 12:47 Uhr)
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: im Teltreestringgrid die Textfarbe einer Spalte ändern

  Alt 23. Mär 2013, 12:56
mit textcolor färbt er alles rot aber nicht unter itemdraw itemdraw ist wohl für den treeview gedacht
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: im Teltreestringgrid die Textfarbe einer Spalte ändern

  Alt 23. Mär 2013, 13:01
Erstell mal nur das OnItemPreDraw Event und setze dort Surface.Font.Color := clRed und schau, ob jetzt alles in rot gezeichnet wird.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: im Teltreestringgrid die Textfarbe einer Spalte ändern

  Alt 23. Mär 2013, 13:14
Dieses Event bezieht sich auf tree souface kommt nicht vor
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:53 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