Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Windows Darstellungsschema laden (https://www.delphipraxis.net/57131-windows-darstellungsschema-laden.html)

winkel57 16. Nov 2005 11:32


Windows Darstellungsschema laden
 
Moin aus dem Norden,

habe schon viel gesucht, aber bin da auf keine Lösung gestossen. Ich möchte beim Aufruf meiner Software eine eigenes Darstellungsschema laden (Eigenschaften von Anzeige > Schema), und nach verlassen auf das alte zurückkehren.

Hat jemand da eine Idee?

Tausend Dank!

Detlef

NicoDE 16. Nov 2005 11:38

Re: Windows Darstellungsschema laden
 
Zitat:

Zitat von winkel57
(Eigenschaften von Anzeige > Schema)

Gibt's bei mir nicht. Vielleicht meinst Du
- Anzeige / Designs / Design
und/oder
- Anzeige / Darstellung / Farbschema
(wobei der Inhalt des letzteren davon abhängig ist, ob der Dienst 'Designs' läuft und ein Design mit 'Visuellen Stilen für Windows XP' aktiviert ist...)

off-topic: warum sollte der Benutzer wollen, dass sein System verstellt wird (vielleicht hat er es mühsam konfiguriert...).

Bernhard Geyer 16. Nov 2005 11:45

Re: Windows Darstellungsschema laden
 
Meinst Du das was das ElPack ab der Version 4 mittels Support for Windows XP themes on other Windows versions kann.
Sprich XP-Themes-DLL unabhängig von Windows laden und darstellen.

winkel57 16. Nov 2005 11:48

Re: Windows Darstellungsschema laden
 
Danke noch einmal...
Ich benutze einen Touchscreen für eine Videoshow und möchte alle Touchflächen so groß wie möglich machen (Scrollbar) und da es meisstens dunkel beim Mixer ist will ich die Kontraste anpassen, Die Buttons in grau stören da ein wenig... Sonst soll es natürlich ein "normales" Erscheinungsbild haben. Ach ja, bei Win2000 / Deutsch heisst es nun einmal so

Danke für die schnelle Antwort.

Detlef

Bernhard: deine Frage verstehe ich nicht - bin kein Profi - aber eben Win2000.

Daniel Schuhmann 16. Nov 2005 12:09

Re: Windows Darstellungsschema laden
 
Schau dir mal die Windows-API-Funktionen MSDN-Library durchsuchenGetSysColor und MSDN-Library durchsuchenSetSysColors sowie MSDN-Library durchsuchenSystemParametersInfo an. Eine Funktion, mit der man ein komplettes Schema laden kann, hab ich aber noch nicht gefunden.

winkel57 16. Nov 2005 12:17

Re: Windows Darstellungsschema laden
 
Hmm, vielen Dank für den Tipp. Da habe ich ja erst einmal was zu lesen, aber ich befürchte (ich war da schon) da komme ich gerade mit der Breite des Scrollbalkens bei einer ListBox nicht weiter.

Detlef

Daniel Schuhmann 16. Nov 2005 12:43

Re: Windows Darstellungsschema laden
 
Microsoft schreibt im MSDN-Artikel "About Scroll Bars" (ganz unten):

Zitat:

Zitat von Mircosoft
Scroll Bar Colors and Metrics
The system-defined color value, COLOR_SCROLLBAR, controls the color within a scroll bar shaft. Use the GetSysColor function to determine the color of the scroll bar shaft and the SetSysColors function to set the color of the scroll bar shaft. Note, however, that this change of color affects all scroll bars in the system.

You can get the dimensions of the bitmaps that the system uses in standard scroll bars by calling the GetSystemMetrics function. Following are the system metric values associated with scroll bars.

System metric Description
SM_CXHSCROLL Width of arrow bitmap on horizontal scroll bar
SM_CXHTHUMB Width of scroll box on horizontal scroll bar. This value retrieves the width a scroll bar that has a page size of zero.
SM_CXVSCROLL Width of arrow bitmap on vertical scroll bar
SM_CYHSCROLL Height of arrow bitmap on horizontal scroll bar
SM_CYVSCROLL Height of arrow bitmap on vertical scroll bar
SM_CYVTHUMB Height of scroll box on vertical scroll bar. This value retrieves the height of a scroll bar that has a page size of zero.

Eine Funktion SetSystemMetrics gibt's leider nicht, aber vielleicht hilft das beim Suchen.

Daniel,
den die Lösung auch brennend interessieren würde

winkel57 16. Nov 2005 13:09

Re: Windows Darstellungsschema laden
 
hmmm, stellt sich nur noch die Frage wie ich das einsetzte. Bin so dicht an WIndows leider nicht der Crack..

Habe es einmal mit:

SendMessage(MeineListe.Handle,SM_CXHTHUMB,500,Card inal(0));

probiert, was natürlich nicht klappt. Um es erste einmal zu probieren habe ich es auf ein Button ausprobiert (OnClick)

Es sieht immer so einfach aus...

Detlef


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:38 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