![]() |
Stringgrid Object
Hallo zusammen,
ich bin dabei einen Belegungskalender zu bauen und habe dabei folgendes Problem: Der Kalender stellt 3 Jahre in dem Grid dar. Die belegten Tage markiere ich, in dem ich ein Panel in die Zelle zeichne mit folgender Routine: for i := 0 to Reservation.ReservationDays do sgCalender.Objects[Reservation.ReservationCol + i,Reservation.ReservationRoom] := oTimePnl; Das Problem ist folgendes, wenn ich nun in dem Grid Scrolle um auf ein anders Datum zu kommen und dann wieder zurück zum aktuellen Datum gehe ist das Belegungspanel verschwunden, wie stelle ich es an, das alle Objecte in dem Panel immer sichtbar bleiben, auch beim Scrollen? Danke bereits jetzt für jeden Tip Michael |
Re: Stringgrid Object
Was immer du mit den beiden Zeilen erreichen willst, damit zeichnest du jedenfalls nicht in einem TStringGrid.
Zeig uns doch mal ein wenig mehr Code, insbesondere wie dieses "oTimePnl" erstellt wird und was damit gemacht wird. |
Re: Stringgrid Object
Wann zeichnest Du ins Grid? Wenn es nicht beim Paint Ereignis des StringGrids passiert sondern nur einmalig beim Lesen der Daten dann wird Deine gezeichnete Grafik natürlich gelöscht. Du musst die Grafik im onPaint Ereignis neu zeichnen.
Gruß, Patrick |
Re: Stringgrid Object
Danke für die Antworten bishes
oTimePanel ist ein normales Panel das ich zur Laufzeitm erzeuge. @Blub--> natürlich zeichne ich das Panel mit der Routine nicht sondern lege es als Object in das Grid, sorry hab mich falsch ausgedrückt:-( In der OnDrawCell Routine wird das Panel dann gezeichnet und angezeigt, soweit ist auch alles wunderbar in Ordnung. Da der Kanelnder jedoch 3 oder mehr Jahre darstellen kann verschwindet das Panel beim scrollen des Grid´s, mein Ziel ist es das (oder die )Panel beim hin und her scrollen im Grid an Ihrer Position zu halten sowie sie immer sichtbar zu machen. Ich hoffe das war ein wenig besser beschrieben. Velen Dank und Gruß Michael |
Re: Stringgrid Object
Das Stringgrid ist nicht als Container für Steuerelemente gedacht. Deshalb ist mir noch nicht ganz klar warum ein Wincontrol(TPanel) erzeugt wird, wo doch sowieso im OnDrawCell selbst gezeichnet werden muss.
Zitat:
Also liegt der Fehler mit ziemlicher Sicherheit entweder hier oder beim Erzeugen/Freigeben der zu zeichnenden Objekte. Bitte zeig uns doch mal ein par Zeilen oder füge die betreffende Unit deinem Beitrag an. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 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 by Thomas Breitkreuz