![]() |
altes Projekt unter Delphi 2007 hat keinen Windows XP look
Ich habe hier ein altes Projekt, welches mit Delphi 6 erstellt wurde.
Diese bearbeite ich nun mit Delphi 2007. Wenn ich das Priojekt kompiliere hat es keinen XP Look. Sprich Buttons und Panels sind eckig und nicht abgerundet und der gleichen. Wenn ich eine neues Projekt in Delphi 2007 anlege, dann hat dieses den XP Look. Was muss ich an dem alten Projekt ändern? Vielen Dank schonmal im Vorraus. :-D |
Re: altes Projekt unter Delphi 2007 hat keinen Windows XP lo
Die Komponente "TXPManifest" auf dein Formular ziehen?!
(Allerdings müsste man das auch bei neuen Projekten machen) |
Re: altes Projekt unter Delphi 2007 hat keinen Windows XP lo
In den Projektoptionen unter "Anwendung" die Option "Laufzeit-Themes aktivieren" setzen. Die Komponente TXPMainifest gibt es glaube ich nicht mehr.
|
Re: altes Projekt unter Delphi 2007 hat keinen Windows XP lo
TXPManifest gibt's zwar noch, aber ringli's Hinweis ist IMHO der richtige Weg.
|
Re: altes Projekt unter Delphi 2007 hat keinen Windows XP lo
Zitat:
|
Re: altes Projekt unter Delphi 2007 hat keinen Windows XP lo
Nein, weiß ich nicht. Weil ich die Komponente seit Ewigkeiten nicht mehr verwende und stattdessen lieber ein eigenes Manifest einbinde. ;)
|
Re: altes Projekt unter Delphi 2007 hat keinen Windows XP lo
alles klar ich habe mal eben beide Varianten ausprobiert.
TXPManifest gibt es auch unter Delphi 2007 noch. Beide Varianten funktionieren soweit. Nur habe ich jetzt das Problem, dass sich die Oberfläche im Schneckentempo aufbaut. Das ist so langsam, daß ein arbeiten nicht mehr damit möglich ist. Wisst ihr woran das liegen kann? |
Re: altes Projekt unter Delphi 2007 hat keinen Windows XP lo
Zitat:
|
Re: altes Projekt unter Delphi 2007 hat keinen Windows XP lo
Könnte ich, aber da Oracle bereits die Antwort gegeben hat ist das wohl unnötig.
|
Re: altes Projekt unter Delphi 2007 hat keinen Windows XP lo
nu hört auf euch zu zanken, und sagt mir lieber wieso sie die Form jetzt Komponente für Komponente ganz lahm aufbaut.
|
Re: altes Projekt unter Delphi 2007 hat keinen Windows XP lo
Wie so oft zahlt man für grafischen Schnickschnack halt in kalter harter Währung namens CPU-Last :)
|
Re: altes Projekt unter Delphi 2007 hat keinen Windows XP lo
Zitat:
|
Re: altes Projekt unter Delphi 2007 hat keinen Windows XP lo
Hab grad rausgefunden, dass die OnPaint Methode jetzt scheinbar viel öfter aufgerufen wird.
Daraufhin habe ich die Anweisungen daruas nach OnShow verlagert, und schon habe ich meinen alten Speed wieder. Hat jemand vielleicht eine Erlkärung dafür? Nein ich benutze nicht VCL.net |
Re: altes Projekt unter Delphi 2007 hat keinen Windows XP lo
Eine mögliche Erklärung: Schlechtes bzw. fragwürdiges Design.
OnPaint wird immer dann aufgerufen, wenn es etwas zu zeichnen gibt. Das kann - wie Du ja festgestellt hast, durchaus sehr oft sein. OnShow wird eben nur dann aufgerufen, wenn das Control seinen Sichtbarkeits-Status ändern. Das ist meistens bei Weitem nicht so oft der Fall. So oder so handelt es sich bei OnPaint und OnShow auch um semantisch zwei unterschiedliche Events. Daher verstehe ich nicht, wie man Befehle haben kann, die hier oder dort stehen könnten. Üblicherweise drängt sich - je nach Progrmamlogik - die eine oder andere Variante auf. |
Re: altes Projekt unter Delphi 2007 hat keinen Windows XP lo
da gehe ich voll mit. Der Code selbst stammt allerdings nicht von mir sondern meinem Vorgänger.
Ich denke auch dass der Code bei OnShow richtig aufgehoben ist. Mir ist nur nicht klar, warum diese Zeitverzögerung nicht vorher schon aufgetreten ist. |
Re: altes Projekt unter Delphi 2007 hat keinen Windows XP lo
Das Verhalten mit und ohne XP-Themes ist deutlich unterschiedlich. Ich habe hier z.B. gerade das lustige Problem, dass ich eine Anwendung mit aktivierten XP-Themes partout nicht maximiert beim Starten anzeigen kann, ohne XP-Themes geht es. Ist XP-Themesupport mittels TXPManifest eingebunden, erscheint das Fenster zwar mit den Bordericons als wäre es maximiert, es nimmt aber nicht den ganzen Bildschirm ein, sondern die gleiche Größe die es auch im nicht maximierten Zustand hat. Ich habe mangels Zeit noch nicht rausgefunden woran das hängt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:10 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-2025 by Thomas Breitkreuz