Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Application.Hintcolor und Vista (https://www.delphipraxis.net/86654-application-hintcolor-und-vista.html)

Assertor 16. Feb 2007 23:24


Application.Hintcolor und Vista
 
Hallo,

ich sitze derzeit über einem minder wichtigem Problem: Die Delphi Hints. Ich würde gerne alle Hints in einem Programm "umbiegen", damit es die Farben bzw. das Design des Systems anstatt des klassischem Schwarz auf Gelb verwendet.

Delphi Hints sehen unter Vista etwas "Artfremd" aus, da diese dort immer noch gelb sind und nicht den grau/blau Hintergrundverlauf zeigen.

Hat hier irgendjemand eine Idee oder Lösung parat (insb. in Bezug auf automatisches Ersetzen Programmweit ohne Dritthersteller Komponenten umzuprogrammieren)?

Gruß

[edit=sakura] Name auf Wunsch entfernt. Mfg, sakura[/edit]

Luckie 17. Feb 2007 00:27

Re: Application.Hintcolor und Vista
 
Was passiert denn, wenn du ein Manifest, wie bei XP einbindest?

madtom 17. Feb 2007 06:21

Re: Application.Hintcolor und Vista
 
Da ich Vista im Augenblick nicht verwende, kenn ich das Aussehen der Hints
unter Vista nicht. Sollte es nur um eine andere Farbe gehen, so ist die
Sache einfach (im Beispiel Rot):

Delphi-Quellcode:
Application.HintColor := clRed
MfG

MadTom :gruebel:

Assertor 17. Feb 2007 12:03

Re: Application.Hintcolor und Vista
 
Hallo,

Danke für die Antworten.

Also es geht nicht bloß um die Farbe. Es ist vergleichbar mit den Baloonhints der Trayleiste. Nutzt man die Entsprechende Systemfunktion sehen die ja unter Windows XP Schwarz-auf-Gelb aus und unter Vista moderner. Ich mach hier mal kurzfristig einen Screenshot...

@Luckie: Ist mit und ohne Manifest das selbe. Ich hab die XPMan mal komplett rausgeworfen (als Compo und der Uses) und eine Derivation geschrieben, die speziell für mein Projekt eine Manifest Resource einbindet, damit auch die TrustInfo für die UAC gesetzt werden.

Läuft auch, die Buttons etc übernehmen auch alle den nativen Vista Style. Nur halt die Hints nicht, ich werd wohl die Delphi VCL Sources mir mal ansehen müssen, ob Delphi da wirklich Systemfunktionen nutzt.

Gruß

[edit=sakura] Name auf Wunsch entfernt. Mfg, sakura[/edit]

E307 17. Feb 2007 14:56

Re: Application.Hintcolor und Vista
 
Delphi-Quellcode:
Application.HintColor := clInfoBk
Damit müsste der Hint die Farbe des jeweiligen Designs bekommen. (Der Text bleibt schwarz) Ich habe den Code nicht getestet.

Assertor 2. Mär 2007 10:39

Re: Application.Hintcolor und Vista
 
Hallo,

clInfoBk geht nicht. Netter versuch, wenn es so einfach wär, würd ich hier doch keinen belästigen ;)

Ich hab mir mal die Sourcen der Controls.pas und Forms.pas angesehen. Die THintWindow Klasse macht hier keine nativen Tooltips über die WinAPI, sondern zeichnet eigene.

Da wird das ohne Patchen wohl nichts. Ich etwas hierzu gefunden, jedoch funktioniert weder der VCL Patch richtig, noch das ersetzen der THintWindowClass. Nicht richtig heißt hier Exceptions wegen teilweise fehlender Parents (da ja nicht alle erhältlichen Komponenten so sauber sind).

Ohne VCL Patch wäre es auch problematisch in Bezug auf andere Klassen, die ja ggf. selbst von der VCL THintWindow Klasse vererben. Die müssten dann ja ebenfalls geändert werden.

Ich befürchte nur, daß aus Kompatibilitätsgründen Borland hier in Delphi 2007 nichts an der THintWindow Klasse geändert hat. Mal sehn...

Falls jemand noch eine Idee, Link o.ä. hat, gerne her damit.

Gruß Winkel79


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz