Hi,
leider habe ich wieder mal ein Problem bei dem ich nicht weiterkomme...
Wenn ich ein TStringGrid oder TJvStringGrid (
JEDI) auf eine Form lege (und ein bisschen die Zellen mit Text fülle), die Anwendung anschließend starte und dann das Windows Design auf klassisch umstelle, bekomme ich eine sehr "gewöhnungsbedürftige" Darstellung des Grids (siehe Anhang). Wenn das jetzt immer nur passieren würde wenn ich das von Hand mache, dann wäre das kein Problem. Wie ihr aber vermutlich wisst, stellen manche Anwendungen (beim Start / temporär) das Design um - z.B. bei manchen Spielen. Ab dann ist meine Anwendung eigentlich nicht mehr bedienbar.
Mein Testsystem: Windows 7 (ist aber bei XP auch so)
Wenn ich den DrawingStyle von gdsThemed auf gdsClassic oder gdsGradient umstelle bleiben die richtigen Farben (halbwegs) erhalten. Ist ja auch irgendwo logisch, da die Zeichenarten nicht das Theme von Windows verwenden. Allerdings sehen diese beiden Arten nicht besonders schön aus.
Nun meine Frage:
Habt Ihr irgendeinen Lösungsvorschlag für das Problem - also dass ich, egal welches Design ich in Windows eingestellt hab, eine korrekte/schöne Darstellung erhalte? (Ansatz reicht)
Mir fällt eigentlich nur das Folgende ein:
- Anderen DrawingStyle verwenden (unschön).
- Alles selber zeichnen (aufwendig).
- Windows-Theme beim Start der Anwendung irgendwie wegspeichern und dann das verwenden - dass nicht immer bei Windows nachgeschaut werden muss. Aber ich hab keine Ahnung ob sowas geht. Im Internet konnte ich leider nichts passendes finden.
Nebenbei: Embarcadero hat das selber wohl auch nicht so ganz hinbekommen (wenn die den Fehler denn kennen). Ich bekomm beim Umstellen des Designs immer wieder mal Fehlermeldungen in der
IDE und auch hier sind die Farben falsch.