AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi erledigt - Stringgrid - ausreichende Breite trotz fsBold
Thema durchsuchen
Ansicht
Themen-Optionen

erledigt - Stringgrid - ausreichende Breite trotz fsBold

Ein Thema von aurikel_Max · begonnen am 17. Aug 2010
Antwort Antwort
aurikel_Max

Registriert seit: 9. Okt 2009
86 Beiträge
 
#1

erledigt - Stringgrid - ausreichende Breite trotz fsBold

  Alt 17. Aug 2010, 22:31
Hallo DP,

ich benötige ein Stringgrid, da ich ein CSV-File auslese (ich könnte auch ein CSVDataSet und ein DBGrid benutzen - möchte ich aber nicht, da es den Rahmen sprengen würde) und die Ergebnisse in dem Stringgrid anzeigen möchte.
In meinem Stringgrid sollen die Ergebnisse zentriert und mit der nötigen Breite ausgegeben werde, für beides habe ich Ansätze auf Delphi-Praxis gefunden (mit entsprechender Breite & zentriert). Für die Ansätze musste ich "DefaultDrawing" auf "False" setzen.
Dies führte dazu, dass die oberste Zeile (FixedRow) nicht mehr hervorgehoben wurde. Das wollte ich damit kompensieren, dass ich im OnDrawCell-Event abfrage, ob ARow = 0 ist. Sollte dem so sein, so habe ich den Font.Style auf [fsBold] gesetzt. Soweit so gut, wenn ich das Programm ausführe klappt noch alles - allerdings ist nicht nur die erste Zeile fett, sondern alles. Oops, ich habe ja auch vergessen den "else"-Fall zu deklarieren, also:
Delphi-Quellcode:
  if ARow = 0 then
    sgrdOverview.Canvas.Font.Style := [fsBold]
  else
    sgrdOverview.Canvas.Font.Style := [];
Dies führt allerdings dazu, dass der benötigte Platz falsch gesetzt wird, wenn ich den "else"-Block wieder entferne, ist zwar alles fett - die Breite wird aber richtig gesetzt.

Ist der "else-Ausdruck" falsch?

Danke und viele Grüße,
Max.

Edit: Ich habe zusätzlich gerade noch ausprobiert, was passiert, wenn ich nichts fett mache. Dann hat alles die richtige Breite .. nunja, ich werde morgen früh kurz debuggen, falls hier keiner auf Anhieb eine Lösung weiß.

Edit: Ich muss mich für diesen unnötigen Post entschuldigen. Nachdem ich mich kurzzeitig von diesem Problem abgewandt hatte, ist mir ein möglicher Lösungansatz gekommen, den ich gerade ausprobiert habe. Dieser funktioniert auch.
Ich prüfe nun zusätzlicher in der Funktion für die Breite, ob die Row = 0 ist, sollte dies so sein, so setze ich erneut den Style auf fsBold.
Max

Geändert von aurikel_Max (17. Aug 2010 um 23:20 Uhr)
  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 12: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