AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Stringgrid Object

Ein Thema von michael.cohrs · begonnen am 24. Feb 2010 · letzter Beitrag vom 25. Feb 2010
Antwort Antwort
michael.cohrs

Registriert seit: 11. Nov 2005
Ort: Hamburg
130 Beiträge
 
#1

Stringgrid Object

  Alt 24. Feb 2010, 14:23
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
Michael Cohrs
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Stringgrid Object

  Alt 24. Feb 2010, 14:42
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.
  Mit Zitat antworten Zitat
Benutzerbild von holliesoft
holliesoft

Registriert seit: 4. Apr 2005
Ort: Gau-Algesheim
250 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Stringgrid Object

  Alt 24. Feb 2010, 14:50
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
  Mit Zitat antworten Zitat
michael.cohrs

Registriert seit: 11. Nov 2005
Ort: Hamburg
130 Beiträge
 
#4

Re: Stringgrid Object

  Alt 24. Feb 2010, 17:01
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
Michael Cohrs
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Stringgrid Object

  Alt 25. Feb 2010, 08:34
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 von michael.cohrs:
In der OnDrawCell Routine wird das Panel dann gezeichnet und angezeigt, soweit ist auch alles wunderbar in Ordnung.
Scheinbar eher nicht. OnDrawCell wird bei allen möglichen Gelegenheiten aufgerufen, auch beim Scrollen.
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.
  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 05:11 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