![]() |
Aussehen eines TButton beeinflussen?
Liste der Anhänge anzeigen (Anzahl: 1)
Gibt es eine Möglichkeit, das Aussehen eines TButton zur Laufzeit zu beeinflussen? Bzw. wovon hängt dessen Aussehen genau ab? Eine Art "Style"-property scheint es ja nicht zu geben.
Hintergrund meiner Frage ist der: ich teste gerade ein wenig mit Delphi 2007, aktuell arbeiten wir noch mit Delphi 7. Jedenfalls habe ich es unter Delphi 2007 bei einem meiner Testprojekte irgendwie hinbekommen (unbeabsichtigt wohl gemerkt), dass meine TButton-Instanzen zur Laufzeit auf einmal ein anderes Aussehen als zur Designzeit hatten. Zur Designzeit sahen sie wie gewohnt aus: eckig und einfarbig grau. Zur Laufzeit hatten sie aber leicht abgerundete Ecken und einen kleinen Farbverlauf auf der Fläche. Zur Veranschaulichung hab ich mal ein Screenshot vom TortoiseSVN-Installer angehängt, denn genau wie dort sahen die Buttons aus. Kann mir einer sagen, wie ich es wohl geschafft haben könnte, das Aussehen der Buttons zur laufzeit so zu verändern??? Weitere Komponenten hatte ich keine auf dem Formular. Bei dem TMS-Komponentenpaket gibt es ja solche Styler-Klassen, mit denen man den Look seiner Anwendung sehr leicht anpassen kann. Die waren da aber nicht im Spiel. Entwickelt wird unter D7/D2007 und Windows XP. |
Re: Aussehen eines TButton beeinflussen?
Hai Matthias,
das sieht so aus als würdest Du bei dem einen Projekt ein XPManifest benutzen. Auch wenn die Komponente nicht mehr auf der Form liegt wird immer noch die Unit "XPMAN" (oder so ähnlich) eingebunden. Diese sorgt für das veränderte Aussehen. |
Re: Aussehen eines TButton beeinflussen?
Binde einfach in die Hauptunit oder das Project die Unit XPMan ein
Du kannst auch die Komponente XPManifest (Reiter Win32) auf deine Form ziehen. Dann wird in dein Programm eine Manifest-Resource eingebunden, welche ab Windows (ab XP) sagt, daß man das "XP"-Design in seiner anwendung haben möchte. Ansonsten wird zum Grißteil weiterhin der alte Win9x-Style verwendet. [edit] ein Luckie ... war ja klar :lol: ohhh, is ja garkeiner :shock: |
Re: Aussehen eines TButton beeinflussen?
Zitat:
|
Re: Aussehen eines TButton beeinflussen?
gibt es (einfache) möglichkeiten, einen button unter xp wie unter win 7 aussehen zu lassen?
|
Re: Aussehen eines TButton beeinflussen?
Einfach ist relativ :lol:
Entweder selber zeichnen ... ansonsten wirst du eine Skin-Engine verwenden müssen. Der Win9x und der XP/Vista/7-Style wird ja vom jeweiligen Windows gezeichnet und dieses kennt keine anderen Styles. ![]() ![]() |
Re: Aussehen eines TButton beeinflussen?
Hey, spitze, das ist ja einfach! Da arbeitet man schon so lange mit Delphi 7 und XP und ist bisher noch nie über das XPManifest gestolpert :shock: .
Wenn man in der Systemsteuerung den Windows-Look auf "klassisch" umgestellt hat, dann sieht man logischerweise keine Änderung. Komischerweise haben die Buttons (und auch die ganzen anderen Standard-Controls) unter Delphi 2007 auch ohne das XPManifest von vorne herein diesen neuen Look und das sogar zur Designzeit. Woran liegts? |
Re: Aussehen eines TButton beeinflussen?
Ja, das Manifest wird in dieser Hinsicht nur beachtet, wenn der neue Style in Windows überhaupt aktiv ist.
Ab Delphi 2007 wird das Manifest automatisch eingebunden ... gibt dafür irgendwo in den Projektoprionen einen Schalter zum Abschalten. PS: wer sich für dieses Manifest interessiert: dieses kann noch viel mehr Es ist praktisch nur ein Text (XML), welchen man entweder direkt als Resource in das Programm einbinden kann oder man legt diesen als Einzeldatei zum Programm ( programmname.manifest ) hier kann man sich z.B. auch mal den Aufbau etwas ansehn ![]() und es gibt da auch noch einige andere Threads zu diesem Thema > ![]() |
Re: Aussehen eines TButton beeinflussen?
Im Zusammenhang mit Windows Vista hab ich schonmal was von diesen Manifest-Dateien gehört. Trägt man da nicht auch ein, in welcher UAC-Berechtigungsstufe das Programm gestartet werden soll? Aber dass es so etwas schon unter XP gab wusste ich nicht...
|
Re: Aussehen eines TButton beeinflussen?
Bei Vista wurde diese Datei erweitert unter XP regelt sie nur, ob das Themeing aktiv ist oder nicht.
|
Re: Aussehen eines TButton beeinflussen?
Liste der Anhänge anzeigen (Anzahl: 1)
Unter XP regelt sie auch welcher Common-Comtrols-Version standardmäßig verwendet wird.
PS: als Gag hier mal Delphi 7 im XP-Style leider funktionierte es grade nicht das Manifest einfach nur dazuzulegen, aber mit 'nem Resource-Editor direkt in die {delphi}/Bin/Delphi32.exe eingefügt, kommt dieses raus :angel: |
Re: Aussehen eines TButton beeinflussen?
Zitat:
Unter D2007 heißt der Punkt in den Projektoptionen "Laufzeitthemes aktivieren", allerdings spinnt das Hauptformular unserer Anwendung, wenn ich den aktiviere :? . Es öffnet sich nicht richtig bzw. ist nur am Flackern und unbedienbar. Woran kann das denn nun schon wieder liegen, wenn wirklich nur das Aussehen der Standard-Controls angepasst wird...? |
Re: Aussehen eines TButton beeinflussen?
Delphi 2007 hat unter Projekt - Optionen - Anwendung die Möglichkeit, durch ein Häckchen Laufzeit-Themes zu aktivieren. Da werden die meisten Standardkomponenten dem vom User gewählten Windows-Theme angepasst. Da brauch man keine XPMan.pas ;)
Das funktioniert sehr gut mit Projekten, die auch unter Delphi 2007 erstellt wurden. Bei älteren Projekten gibt es meist Schwierigkeiten. Weiß aber auch nicht, woran das liegen kann. |
Re: Aussehen eines TButton beeinflussen?
Bei älteren muss man halt sowohl die Komponente, wie auch die Unit entfernt werden
|
Re: Aussehen eines TButton beeinflussen?
Zitat:
|
Re: Aussehen eines TButton beeinflussen?
Zitat:
aber Geschäcker sind halt verschieden. Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:37 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