AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi StringGrid -> Spalte zeichnen, obwohl ausserhalb der Screen
Thema durchsuchen
Ansicht
Themen-Optionen

StringGrid -> Spalte zeichnen, obwohl ausserhalb der Screen

Ein Thema von HolgerCW · begonnen am 5. Nov 2007 · letzter Beitrag vom 7. Nov 2007
 
HolgerCW

Registriert seit: 28. Nov 2006
Ort: Marl
1.207 Beiträge
 
Delphi XE7 Enterprise
 
#10

Re: StringGrid -> Spalte zeichnen, obwohl ausserhalb der

  Alt 7. Nov 2007, 11:51
Hier meine Lösung (Lasse ALLE Spalten rückwärts Zeichnen, bis zum Anfang des gerade aktuellen Monats):

Info: Habe 366 Spalten. 1 Spalte = 1 Tag

In dem Ereignis on DrawCell
Delphi-Quellcode:
//Überschriften Monate eintragen
if (ACol > 1) AND (ARow = 0) then
begin
 
 //Datum der Spalte herrausfinden
 Datum := EncodeDateDay(strtoint(FormTerMas.CB_UP_Jahr.text), ACol - 1);
 
 //Bis zum ersten eines Monats rückwärts Zeichnen
 Rect.Left := Rect.Left + 1 - (6 * (ACol - DayOfTheYear(strtodate('01.' + inttostr(Monthof(Datum)) + '.' + CB_UP_Jahr.Text))));
 // Erste Spalte (Width = 125) soll nicht überzeichnet werden. Da stehen die User
 if Rect.Left < 126 then Rect.Left := 126;
 //Zeichnen
 Canvas.FillRect(Rect);
 //Text des aktuellen Monats ausgeben
 Canvas.TextOut(Rect.Left + 2,Rect.Top + 5, LongMonthNames[Monthof(Datum)]);

end;
Damit es sauberer Aussieht im OnTopLeftChanged-Ereignis:

STG_UP_JahresPlaner.Repaint; //Beim Scrollen des StringGrids immer neu Zeichnen lassen. Ist noch schnell genug Gruss

Holger

P.S.: Vielleicht weiss ja jemand wie man das optimieren kann ?
  Mit Zitat antworten Zitat
 


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 17:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz