AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wie OnDrawCell von StringGrid im Quelltext auslösen
Thema durchsuchen
Ansicht
Themen-Optionen

Wie OnDrawCell von StringGrid im Quelltext auslösen

Offene Frage von "Deep-Sea"
Ein Thema von dödö · begonnen am 6. Mär 2010 · letzter Beitrag vom 24. Jun 2010
Antwort Antwort
dödö

Registriert seit: 6. Mär 2010
1 Beiträge
 
#1

Wie OnDrawCell von StringGrid im Quelltext auslösen

  Alt 6. Mär 2010, 23:24
Hallo,

ich programmiere ein Memoryspiel. Die einzelnen Bilder werden in OnDrawCell in das StringGrid geladen, die Dateinamen liegen dabei in einem Array, die Verteilung ist zufällig. Wenn ich nun ein neues Spiel starte, ändere ich das Array.Das StringGrid ändert sich aber noch nicht, da OnDrawCell ja nicht ausgelöst wurde, es ändert sich erst, wenn man z.B. ein anderes Vollbildfenster aufruft und dann wieder das Programm. Nun möchte ich aber, dass das StringGrid sich ändert, wenn ich ein neues Spiel starte. Ich muss also irgendwie die ganzen OnDrawCell-Methoden aufrufen, was aber durch die vielen Parameter schwierig wird.
Gibt es da irgendeine Möglichkeit, wie ich dem StringGrid im Quelltext sagen kann, dass es sich komplett neu zeichnen soll?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Wie OnDrawCell von StringGrid im Quelltext auslösen

  Alt 6. Mär 2010, 23:40
Hallo und Willkommen in der DP ,

ist das eine Hausaufgabe und sind einige Deiner Mitschüler neuerdings auch hier angemeldet (ständig dieses Memory in den letzten Tagen )? Naja, wie dem auch sei: damit sich eine Zelle neu zeichnet musst Du ihr einen neuen Wert zuweisen. Das kannst Du z.B. in 2 verschachtelten Schleifen tun (eine für die Spalten und eine für die Zeilen).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Calle

Registriert seit: 13. Feb 2006
Ort: Teltow
24 Beiträge
 
Delphi 2005 Personal
 
#3

AW: Wie OnDrawCell von StringGrid im Quelltext auslösen

  Alt 24. Jun 2010, 16:19
Oder die einfachere Möglichkeit:

Delphi-Quellcode:
StringGrid.Visible:=false;
StringGrid.Visible:=true;
Veranlasst das StringGrid ebenso zur kompletten Neuzeichnung.
" Si tacuisses, philosophus mansisses."
(Wenn du geschwiegen hättest, wärst du ein Philosoph geblieben)
Boethius, Trost der Philosophie, II, 7.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Wie OnDrawCell von StringGrid im Quelltext auslösen

  Alt 24. Jun 2010, 16:48
Hallo,

Grid.Invalidate.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#5

AW: Wie OnDrawCell von StringGrid im Quelltext auslösen

  Alt 24. Jun 2010, 16:53
Falls man nur einen Teil neu zeichnen lassen will, kann man auch die API-Funktion InvalidateRect nutzen.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Wie OnDrawCell von StringGrid im Quelltext auslösen

  Alt 24. Jun 2010, 16:55
Hallo,
Falls man nur einen Teil neu zeichnen lassen will, kann man auch die API-Funktion InvalidateRect nutzen.
etwa so: InvalidateGridCell

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#7

AW: Wie OnDrawCell von StringGrid im Quelltext auslösen

  Alt 24. Jun 2010, 16:59
@Hawkeye219:
Musst du denn alles verraten?
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  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 21:19 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