Forum: Object-Pascal / Delphi-Language
Delphi
by sh17,
3. Dez 2005
vielleicht sehe ich das ganze ja falsch:
Du hast ein Object "Grid", was Deine Daten in Form von Zellen hält. Zum Benutzer hin ist nur ein kleiner Bereich sichtbar (wie z.B. beim StringGrid). Dieser Bereich muss vom Grid gezeichnet werden.
Warum musst Du alles neu zeichnen, wenn eine nicht sichtbare Zelle geändert wird.
Würde uns ein Screenshot weiterhelfen?
Forum: Object-Pascal / Delphi-Language
Delphi
by sh17,
28. Nov 2005
Naja, das ist ja gerade das virtuelle. Das Grid bekommt Repaint und zeichnet den "sichtbaren" Bereich neu. Der ist ja nicht so groß. Wenn die geänderte Zelle nicht im sichtbaren Bereich war, ist das ja nicht schlimm-
Forum: Object-Pascal / Delphi-Language
Delphi
by sh17,
27. Nov 2005
oder Du machst es wie bei virtuellen Komponenten, Du rufst Grid.Repaint auf. Ist natürlich nichts automatisches
Forum: Object-Pascal / Delphi-Language
Delphi
by sh17,
26. Nov 2005
Zu Variante 1.
Ich hab jetzt nicht den Code im Kopf, aber folgender Vorschlag:
Die Eigenschaft Cells : TCell des Grids so implementieren, dass das Grid zwar mitbekommt, welche Zelle angefragt wird (bei Zugriff auf Cells), dann aber nur die Zelle an sich zurück liefert. Der Zelle kannst Du dann zuweisen, was Du willst.
Forum: Object-Pascal / Delphi-Language
Delphi
by sh17,
24. Nov 2005
Noch ne Idee:
Setze den Inhalt einer Zelle nicht direkt durch Aufruf der Zelle x,y, sondern lass das Grid den Inhalt der Zelle x,y setzen. Dann weißt das Grid auch welchen Bereich es neu zeichnen soll.
Forum: Object-Pascal / Delphi-Language
Delphi
by sh17,
22. Nov 2005
Bau bei Deinem Zellobject ein OnChange-Ereignis ein, bei dem sich dann das Grid registriert.