![]() |
AW: Frage zu TStringGrid
Hi,
sorry aber ich muss das Thema nochmal "aufwärmen". Ich habe das problem das wenn das Panel in der Zelle liegt, kein kommando zum neuzeichen kommt. z.b. wenn ich scrolle oder ähnlich. Hat da vielleicht einer ne idee wie ich den "zwingen" kann die zelle neu zu zeichnen? Beispiel: Ich habe ein Grid mit 2 Zeilen und 5 Spalten. In spalte 4 ist mein Panel drinne. Nun kommt das Draw leider nicht für spalte 4. Nur für die anderen. Danke im Voraus |
AW: Frage zu TStringGrid
Wie zeichnest Du die Zellen? ein normales Stringgrid zeichnet doch meines Wissens nicht selbstständig Komponenten, die Du einzelnen Zellen (wie?) zuordnest. Beim Erzeugen wird sich das panel um seine untergeordneten Komponenten einmal kümmern, aber danach bekommt es von Änderungen im Grid wahrschienlich nichts mit.
edit - Blödsinn, habe die ersten Posts nicht richtig gelesen. |
AW: Frage zu TStringGrid
Hat keiner ne idee? Oder geht das garnicht?
Ich bin nun hingegangen und habe den inhalt der zelle, also das panel, einen pixel kleine gemacht. Damit wird die zelle wieder gezeichnet. Leider nicht wenn es die erste oder letzte zelle des grids ist. Warum das so ist, weiss ich nicht. |
AW: Frage zu TStringGrid
Code sagt mehr als 1000 Worte.
Erstelle ein kleines Demo-Projekt, das das Problem veranschaulicht und poste es hier. Das vereinfacht uns, Dir zu helfen. |
AW: Frage zu TStringGrid
Da ich "meine" Threads immer versuche zu schliessen, hier die antwort.
Man(n) nimmt ein Panel und leg das was man anzeigen möchte auf das Panel. In meinem fall eine progressbar. Dann hängt man sich in OnDrawCell rein und arbeitet dann mit .PaintTo. Nicht wie anfangs beschrieben die Position des Panels ändern.
Delphi-Quellcode:
Da hat auch den vorteil, das man wieder auf die celle klicken kann.
if ((ARow=10) AND (ACol=2)) then begin
Panel1.PaintTo(StringGrid1.Canvas.Handle,Rect.Left,Rect.Top); end; Ich hoffe das hilft vielleicht mal jemanden. Auf jeden fall ist der Thread nun auch "sauber" beendet. Gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:46 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