AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls FMX: TStringGrid OnDrawColumnBackground wird nicht aufgerufen

FMX: TStringGrid OnDrawColumnBackground wird nicht aufgerufen

Ein Thema von bcvs · begonnen am 24. Feb 2021 · letzter Beitrag vom 25. Feb 2021
Antwort Antwort
bcvs

Registriert seit: 16. Jun 2011
567 Beiträge
 
Delphi 10.4 Sydney
 
#1

FMX: TStringGrid OnDrawColumnBackground wird nicht aufgerufen

  Alt 24. Feb 2021, 12:01
Hallo,

ich habe ein TStringGrid in einer FMX-Anwendung. Da würde ich jetzt gerne ein paar Zellen einfärben. Eigentlich bietet sich doch dafür das Ereigniss OnDrawColumnBackground an

Das feuert aber nicht. OnDrawColumnsCell geht.
Muss ich da noch irgend etwas anderes einstellen?

D10.4

Geändert von bcvs (24. Feb 2021 um 12:30 Uhr) Grund: eigener Fehler, Problem nur noch teilweise vorhanden
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
2.811 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: FMX: TStringGrid OnDrawColumnBackground wird nicht aufgerufen

  Alt 24. Feb 2021, 17:07
1. Hast du ein Model: TGridModel zugewiesen?
2. Wenn ja, was sagt der Break Point in FMX.Grid.TColumn.DrawBackground (mit Debug-DCU!)?
3, Wenn da der Debugger nicht anhält, wie ist es in TStyledGrid.InternalDrawCells.PartialDrawing?
4. Hast du TGridOption.AlternatingRowBackground deinen TGridModel.Options hinzugefügt?
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
567 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: FMX: TStringGrid OnDrawColumnBackground wird nicht aufgerufen

  Alt 24. Feb 2021, 18:26
Vielen Dank für die Tipps.

Das mit dem Model verstehe ich noch nicht so ganz.

Aber ich habe jetzt die Option AlternatingRowBackground von dem StringGrid eingeschaltet und dann geht er auch ins OnDrawColumnBackground rein.

Ist aber auch etwas verwirrend, deshalb bin ich nicht gleich draufgekommen. Ich will ja gar keinen AlternatingRowBackground, ich will nur ganz bestimmte Zellen einfärben. Aber anscheinend muss man das aktivieren, damit man ins OnDrawColumnBackground reinkommt, um dann da alles außer den gewünschten Zellen weiß zu malen.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.176 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: FMX: TStringGrid OnDrawColumnBackground wird nicht aufgerufen

  Alt 24. Feb 2021, 20:07
Ich würde hier "OnDrawColumnCell" verwenden (und für den Spaltenkopf, falls benötigt, "OnDrawColumnHeader")...
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
567 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: FMX: TStringGrid OnDrawColumnBackground wird nicht aufgerufen

  Alt 25. Feb 2021, 08:04
Ja, das hatte ich zwischenzeitlich auch verwendet, vor dem Tip von TiGü.

Das hat nur den Nachteil, das man den Zellinhalt nochmal selbst zeichnen muss. Und das übergebene Bounds : TRectF deckt nicht die komplette Zelle ab, sondern ist ringsherum ein paar Pixel kleiner. Das muss man dann auch wieder Inflaten, aber nur für den Hintergrund, nicht für den Text,

Im OnDrawColumnBackground passt das Bounds. Ist ja auch für den Hintergrund gedacht.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 16:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf