![]() |
Systemfarben
Ich habe mir einen XP - SpeedButton Programmiert. Dieser sieht auch unter zB. Win2K XP-mässig aus, ich würde aber gerne wenn das Control auf einen WindowsXP - System läuft das so haben, das wenn auf dem XP - Rechner das Design geändert wird, das dann mein Control ebenfalls in den neuen Farben erstrahlt.
Gibts da Systemconstanten für diese Farben also sowas wie "clActiveBorder" (clActiveBorder stellt leider den Rahmen nur grau dar). Gibts da eine Farbconstante für Border des SpeedButton, die Color für MouseOver und MouseDown und Exclusive? Danke für eure Hilfe Mfg Matthias |
Re: Systemfarben
Also, die Übersetzungen für die Systemfarben von Delphi bin ich grad am machen. Die könnt ich dir morgen geben :wink:
Aber für OnMouseDown und so weiß ich auch nix. |
Re: Systemfarben
Die Themes-Farben können über die Funktion GetThemeSysColor aus der System-DLL uxtheme.dll abgefragt werden.
Dazu werden die COLOR_*-Konstanten aus der Windows.pas verwendet. Warum willst Du XP-Theming nochmals unter W2K nachprogrammieren? Falls Du ein paar € ausgeben kannst würde ich dir empfehlen mal die ![]() |
Re: Systemfarben
Hallo,
Zitat:
Also das was ich machen will in kurzform: Unter Win2K: Canvas.Brush.Color := RGB(49,106,197); Canvas.Brush.FrameRect(ClientRect); Unter WinXP: Canvas.Brush.Color := clHighLight; Canvas.Brush.FrameRect(ClientRect); Ich hoffe jetzt hab ichs etwas verständlicher ausgedrückt was ich machen will Mfg Matthias |
Re: Systemfarben
Hallo,
Zitat:
Jeder SpeedButton im OfficeXP hat ja mehrere Farben: - die Farbe für den Border (49,106,197) - die Farbe wenn keine Mouse über dem Button ist oder dieses auch nicht im Exclusive - Mode ist - die Farbe wenn die Mouse über dem SpeedButton ist - und die Farbe wenn der Button gedrückt wird ich gehe halt in der annahme das es für diese 4 Farben Systemconstanten gibt die ich verwenden kann, sodas mein Control im Aussehen an eine Designänderung im XP angepasst wird (automatisch) Mfg Matthias |
Re: Systemfarben
Zitat:
Also ich würde einfach ein Manifest bei legen (zeigt nur Wirkung unter XP) und mich mehr auf die Funktionalität des Programmes konzentrieren als irgendwelche designmäßigne Spielereien. :roll: |
Re: Systemfarben
Zitat:
Wird es diese "Konstante" ebenfalls bei Deiner Übersetzung geben? |
Re: Systemfarben
Zitat:
Ändere doch spaßeshalber mal deine Systemfarben für markierte Elemente auf Rot und starte Office XP noch mal. Du wirst dein ... äh ... rotes Wunder erleben, denn die Menüs und Toolbars von Office passen sich an die jeweils gewählte Systemfarbe an. Zitat:
Die für dich einfachste Variante ist ohne Zweifel das ![]() |
Re: Systemfarben
Hallo,
Danke für eure Hilfe, hab mich dazu entschlossen auf die Farbänderung bei einem Designwechsel unter Windof XP zu verzichten. Mfg Matthias |
Re: Systemfarben
Irgenwie kommt's ein wenig spät, aber die Lick-Farbe wird es wohl nicht geben :cry:
Ich bin selber noch am tüfteln, war schwieriger als ich dachte... |
Re: Systemfarben
Zitat:
Na ja. Dabei ist das Prinzip recht einfach. Die Zauberworte heißen WM_THEMECHANGED und WM_SYSCOLORCHANGED. Wenn du es selbst machen willst, dann musst du nur die Farbtöne berechnen. Du nimmst bspw. clHighlight und ermittelst daraus einen helleren Farbton für die Menüfarbe (clHighlight selbst bildet den Rahmen bei Menüeinträgen und Toolbar-Buttons). Allerdings muss ich sagen, in so einem Fall würde ich das Rad nicht neu erfinden sondern die schon erwähnte Komponente XPMenu benutzen. Die enthält nämlich alles Notwendige, so dass ich mich um diesen Farbkram nicht kümmern muss. |
Re: Systemfarben
Hallo,
Zitat:
Ich denke ich werd mir das XPMenu dochmal genauer zur Brust nehmen :coder: und zu meinem ursprünglichen Plan zurückkehren. Mfg Matthias |
Re: Systemfarben
Hallo,
Zitat:
Um zB.: für clHighlight einen helleren Farbton zu ermitteln müsste ich doch wissen um wieviel der heller sein muß, oder lieg ich da jetzt falsch? Ich hab mir die XPMenu - Kompo nochmal genauer angesehen, aber so nen richtigen plan wie ich zu den Farben kömmen könnte hab ich immer noch net. Und in der Hilfe zu Delphi5 brauch ich gar net erst schauen, weil da eh nix drin steht (zu der Zeit gabs halt noch kein WinXP). Mfg Matthias |
Re: Systemfarben
Hallo,
tja, weiß net obs jemand interessiert aber auf der Homepage vom ![]() gibts einen Thememanager, mit dem man sowas machen kann. Mfg Matthias |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:03 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