Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - XPSTYLE des BS verändert DBGRID
tortom1000 - So 13.07.08 09:49
Titel: XPSTYLE des BS verändert DBGRID
Hallo,
ich habe ein unter WinXP mit eingestelltem klassischen Design funktionierendes Progrämmchen mit mehreren DBGrid's. Diese sind alle
gleich (identisch) eingestellt. (Lediglich die Datenquelle unterscheidet sich...).
Klicke ich in ein Feld, wird die gesamte Zeile markiert. Die Grid's sind "ReadOnly".
Stelle ich nun im BS das Design auf XPStyle um, funktionieren 2 Grid's nicht mehr richtig. D. h. die Zelle, die ich anklicke, wird nun einzeln markiert. Die Zeile, die vor dem Klick markiert war, ändert sich nicht, bleibt also markiert. Zusätzlich wird jedoch noch die Zelle markiert, und die Nächste, die ich anklicke usw.
Stelle ich das Klassische Design wieder ein, funktioniert wieder alles.
Ich habe folgendes schon probiert:
Ich habe eines der nicht funktionierenden Grid's kopiert und wieder eingefügt. Dieses tut es dann ganz normal. Nun habe ich das ursprüngliche gelöscht und dem neuen Grid den Namen des alten Grid's gegeben. Schon ist der alte Fehler wieder da.
Daraus interpretierte ich, das erst zur Laufzeit des Programms das Grid so verändert wird, das es zu dem Fehler kommt. Daher habe ich alle Veränderungen am Grid wie beispielsweise unter "DBGrid_DrawColumnCell" mit den funktionierenden verglichen. Dummerweise ist aber alles bis auf die Datenquelle völlig identisch.
Hat hier jemand 'ne Ahnung, was das verursacht? Kamm man Delphi dazu bewegen, den XPStyle erst gar nicht zu benutzen?
Viele Grüße
Tortom
Jerk - Di 15.07.08 16:14
Ändert sich was wenn man die Komponente XPManifest hinzufügt?
tortom1000 - Mi 16.07.08 09:26
Nein, leider nicht.
Ich habe auch schon die XP-Style-Komponente von den Jedis ausprobiert. Ebenfalls ohne Erfolg.
tortom1000 - So 20.07.08 13:12
Nach gründlicher Überprüfung meines Problem mit den fehlerhaften DBGRID und Vergleich mit den funktionierenden DBGRID neige ich zu der Ansicht, das die Geschichte wohl ein Bug ist. Wenn ich den Focus vom DBGRID auf ein anderes Element umlenke und anschließend wieder zurück auf den DGBGRID, wird auch die gesamte Zeile im Grid markiert, wie es eigentlich sein sollte.
Ich bin ratlos.
tortom1000 - So 20.07.08 13:29
Hab das Problem gefunden:
Es lag an der Breite des DBGRID auf dem Form. Nachdem ich die betroffenen DBGRID's um 6 Pixel breiter gemacht habe, ist alles wieder OK.
Wie das mit dem XPSTYLE, den ich ja nicht benutze, zusammen hängt, bleibt mir ein Rätsel....
Wie dem auch sei, Problem gelöst :-)
Gruß
Tortom
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!